{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Pandas"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 数据类型\n",
    "1. Series\n",
    "2. DataFrame\n",
    "3. index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "0    0.25\n1    0.50\n2    0.75\n3    1.00\ndtype: float64"
     },
     "metadata": {},
     "execution_count": 31
    }
   ],
   "source": [
    "data = pd.Series([0.25, 0.5, 0.75, 1.0])\n",
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "array([0.25, 0.5 , 0.75, 1.  ])"
     },
     "metadata": {},
     "execution_count": 32
    }
   ],
   "source": [
    "data.values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "0.25"
     },
     "metadata": {},
     "execution_count": 33
    }
   ],
   "source": [
    "data[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "1    0.50\n2    0.75\ndtype: float64"
     },
     "metadata": {},
     "execution_count": 34
    }
   ],
   "source": [
    "data[1:3]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "a    0.25\nb    0.50\nc    0.75\nd    1.00\ndtype: float64"
     },
     "metadata": {},
     "execution_count": 35
    }
   ],
   "source": [
    "data = pd.Series([0.25, 0.5, 0.75, 1.0], index=['a','b','c','d'])\n",
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "0.25"
     },
     "metadata": {},
     "execution_count": 36
    }
   ],
   "source": [
    "data['a']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "0.25"
     },
     "metadata": {},
     "execution_count": 37
    }
   ],
   "source": [
    "data[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "active_case = pd.Series({'HK':44,'BJ':44,'GD':27,'SH':18,'SC':17})\n",
    "total_confirmd = pd.Series([1109,637,1625,691,683], index=['HK','BJ','GD','SH','SC'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "    active_case  total_confirmd\nHK           44            1109\nBJ           44             637\nGD           27            1625\nSH           18             691\nSC           17             683",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>active_case</th>\n      <th>total_confirmd</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>HK</th>\n      <td>44</td>\n      <td>1109</td>\n    </tr>\n    <tr>\n      <th>BJ</th>\n      <td>44</td>\n      <td>637</td>\n    </tr>\n    <tr>\n      <th>GD</th>\n      <td>27</td>\n      <td>1625</td>\n    </tr>\n    <tr>\n      <th>SH</th>\n      <td>18</td>\n      <td>691</td>\n    </tr>\n    <tr>\n      <th>SC</th>\n      <td>17</td>\n      <td>683</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 39
    }
   ],
   "source": [
    "covid19 = pd.DataFrame({'active_case':active_case, 'total_confirmd':total_confirmd})\n",
    "covid19"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "HK    44\nBJ    44\nGD    27\nSH    18\nSC    17\nName: active_case, dtype: int64"
     },
     "metadata": {},
     "execution_count": 40
    }
   ],
   "source": [
    "covid19['active_case']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "Index(['HK', 'BJ', 'GD', 'SH', 'SC'], dtype='object')"
     },
     "metadata": {},
     "execution_count": 41
    }
   ],
   "source": [
    "covid19.index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "Index(['active_case', 'total_confirmd'], dtype='object')"
     },
     "metadata": {},
     "execution_count": 42
    }
   ],
   "source": [
    "covid19.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "     A    B\na  3.0  7.0\nb  4.0  NaN\nc  NaN  5.0",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>A</th>\n      <th>B</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>a</th>\n      <td>3.0</td>\n      <td>7.0</td>\n    </tr>\n    <tr>\n      <th>b</th>\n      <td>4.0</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>c</th>\n      <td>NaN</td>\n      <td>5.0</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 43
    }
   ],
   "source": [
    "X = pd.DataFrame({'A':{'a':3,'b':4},'B':{'c':5,'a':7}})\n",
    "X"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "output_type": "error",
     "ename": "KeyError",
     "evalue": "'a'",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mKeyError\u001b[0m                                  Traceback (most recent call last)",
      "\u001b[0;32m/usr/local/anaconda3/lib/python3.7/site-packages/pandas/core/indexes/base.py\u001b[0m in \u001b[0;36mget_loc\u001b[0;34m(self, key, method, tolerance)\u001b[0m\n\u001b[1;32m   2645\u001b[0m             \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2646\u001b[0;31m                 \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   2647\u001b[0m             \u001b[0;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n",
      "\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n",
      "\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n",
      "\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n",
      "\u001b[0;31mKeyError\u001b[0m: 'a'",
      "\nDuring handling of the above exception, another exception occurred:\n",
      "\u001b[0;31mKeyError\u001b[0m                                  Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-44-169e1ec01824>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mX\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'a'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;32m/usr/local/anaconda3/lib/python3.7/site-packages/pandas/core/frame.py\u001b[0m in \u001b[0;36m__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m   2798\u001b[0m             \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnlevels\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   2799\u001b[0m                 \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_getitem_multilevel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2800\u001b[0;31m             \u001b[0mindexer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   2801\u001b[0m             \u001b[0;32mif\u001b[0m \u001b[0mis_integer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mindexer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   2802\u001b[0m                 \u001b[0mindexer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mindexer\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/local/anaconda3/lib/python3.7/site-packages/pandas/core/indexes/base.py\u001b[0m in \u001b[0;36mget_loc\u001b[0;34m(self, key, method, tolerance)\u001b[0m\n\u001b[1;32m   2646\u001b[0m                 \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   2647\u001b[0m             \u001b[0;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2648\u001b[0;31m                 \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_maybe_cast_indexer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   2649\u001b[0m         \u001b[0mindexer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_indexer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmethod\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmethod\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtolerance\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mtolerance\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   2650\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mindexer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndim\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m1\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0mindexer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msize\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n",
      "\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n",
      "\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n",
      "\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n",
      "\u001b[0;31mKeyError\u001b[0m: 'a'"
     ]
    }
   ],
   "source": [
    "X['a']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "Index(['a', 'b', 'c', 'd'], dtype='object')"
     },
     "metadata": {},
     "execution_count": 45
    }
   ],
   "source": [
    "data.index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "Index(['a', 'b', 'c', 'd'], dtype='object')"
     },
     "metadata": {},
     "execution_count": 46
    }
   ],
   "source": [
    "index = data.index\n",
    "index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "'a'"
     },
     "metadata": {},
     "execution_count": 47
    }
   ],
   "source": [
    "index[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "output_type": "error",
     "ename": "TypeError",
     "evalue": "Index does not support mutable operations",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mTypeError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-48-06a3991e3135>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mindex\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'A'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;32m/usr/local/anaconda3/lib/python3.7/site-packages/pandas/core/indexes/base.py\u001b[0m in \u001b[0;36m__setitem__\u001b[0;34m(self, key, value)\u001b[0m\n\u001b[1;32m   3907\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   3908\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0m__setitem__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 3909\u001b[0;31m         \u001b[0;32mraise\u001b[0m \u001b[0mTypeError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Index does not support mutable operations\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   3910\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   3911\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0m__getitem__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mTypeError\u001b[0m: Index does not support mutable operations"
     ]
    }
   ],
   "source": [
    "index[0] = 'A'"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 选择"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "a    0.25\nb    0.50\nc    0.75\nd    1.00\ndtype: float64"
     },
     "metadata": {},
     "execution_count": 49
    }
   ],
   "source": [
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "0.25"
     },
     "metadata": {},
     "execution_count": 50
    }
   ],
   "source": [
    "data['a']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "0.25"
     },
     "metadata": {},
     "execution_count": 51
    }
   ],
   "source": [
    "data.a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "a    8.00\nb    0.50\nc    0.75\nd    1.00\ndtype: float64"
     },
     "metadata": {},
     "execution_count": 52
    }
   ],
   "source": [
    "data['a'] = 8.0\n",
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "a    8.00\nb    0.50\nc    0.75\nd    1.00\ne    3.14\ndtype: float64"
     },
     "metadata": {},
     "execution_count": 53
    }
   ],
   "source": [
    "data['e'] = 3.14\n",
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "a     8.00\nb     0.50\nc     0.75\nd     1.00\ne     3.14\nf    42.00\ndtype: float64"
     },
     "metadata": {},
     "execution_count": 54
    }
   ],
   "source": [
    "data['f'] = 42\n",
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "a    8.00\nb    0.50\nc    0.75\ndtype: float64"
     },
     "metadata": {},
     "execution_count": 55
    }
   ],
   "source": [
    "data['a':'c']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "a    8.0\nb    0.5\ndtype: float64"
     },
     "metadata": {},
     "execution_count": 56
    }
   ],
   "source": [
    "data[0:2]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "1    a\n3    b\n5    c\ndtype: object"
     },
     "metadata": {},
     "execution_count": 57
    }
   ],
   "source": [
    "data2 = pd.Series(['a','b','c'], index=[1,3,5])\n",
    "data2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "'a'"
     },
     "metadata": {},
     "execution_count": 58
    }
   ],
   "source": [
    "data2[1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "3    b\n5    c\ndtype: object"
     },
     "metadata": {},
     "execution_count": 59
    }
   ],
   "source": [
    "data2[1:3]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "'a'"
     },
     "metadata": {},
     "execution_count": 60
    }
   ],
   "source": [
    "data2.loc[1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "1    a\n3    b\ndtype: object"
     },
     "metadata": {},
     "execution_count": 61
    }
   ],
   "source": [
    "data2.loc[1:3]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "'b'"
     },
     "metadata": {},
     "execution_count": 62
    }
   ],
   "source": [
    "data2.iloc[1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "3    b\n5    c\ndtype: object"
     },
     "metadata": {},
     "execution_count": 63
    }
   ],
   "source": [
    "data2.iloc[1:3]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "    active_case  total_confirmd\nHK           44            1109\nBJ           44             637\nGD           27            1625\nSH           18             691\nSC           17             683",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>active_case</th>\n      <th>total_confirmd</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>HK</th>\n      <td>44</td>\n      <td>1109</td>\n    </tr>\n    <tr>\n      <th>BJ</th>\n      <td>44</td>\n      <td>637</td>\n    </tr>\n    <tr>\n      <th>GD</th>\n      <td>27</td>\n      <td>1625</td>\n    </tr>\n    <tr>\n      <th>SH</th>\n      <td>18</td>\n      <td>691</td>\n    </tr>\n    <tr>\n      <th>SC</th>\n      <td>17</td>\n      <td>683</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 64
    }
   ],
   "source": [
    "covid19"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "HK    44\nBJ    44\nGD    27\nSH    18\nSC    17\nName: active_case, dtype: int64"
     },
     "metadata": {},
     "execution_count": 65
    }
   ],
   "source": [
    "covid19['active_case']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "HK    44\nBJ    44\nGD    27\nSH    18\nSC    17\nName: active_case, dtype: int64"
     },
     "metadata": {},
     "execution_count": 66
    }
   ],
   "source": [
    "covid19.active_case"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [
    {
     "output_type": "error",
     "ename": "KeyError",
     "evalue": "'HK'",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mKeyError\u001b[0m                                  Traceback (most recent call last)",
      "\u001b[0;32m/usr/local/anaconda3/lib/python3.7/site-packages/pandas/core/indexes/base.py\u001b[0m in \u001b[0;36mget_loc\u001b[0;34m(self, key, method, tolerance)\u001b[0m\n\u001b[1;32m   2645\u001b[0m             \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2646\u001b[0;31m                 \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   2647\u001b[0m             \u001b[0;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n",
      "\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n",
      "\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n",
      "\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n",
      "\u001b[0;31mKeyError\u001b[0m: 'HK'",
      "\nDuring handling of the above exception, another exception occurred:\n",
      "\u001b[0;31mKeyError\u001b[0m                                  Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-67-39411ac21a25>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mcovid19\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'HK'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;32m/usr/local/anaconda3/lib/python3.7/site-packages/pandas/core/frame.py\u001b[0m in \u001b[0;36m__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m   2798\u001b[0m             \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnlevels\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   2799\u001b[0m                 \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_getitem_multilevel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2800\u001b[0;31m             \u001b[0mindexer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   2801\u001b[0m             \u001b[0;32mif\u001b[0m \u001b[0mis_integer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mindexer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   2802\u001b[0m                 \u001b[0mindexer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mindexer\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/local/anaconda3/lib/python3.7/site-packages/pandas/core/indexes/base.py\u001b[0m in \u001b[0;36mget_loc\u001b[0;34m(self, key, method, tolerance)\u001b[0m\n\u001b[1;32m   2646\u001b[0m                 \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   2647\u001b[0m             \u001b[0;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2648\u001b[0;31m                 \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_maybe_cast_indexer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   2649\u001b[0m         \u001b[0mindexer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_indexer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmethod\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmethod\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtolerance\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mtolerance\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   2650\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mindexer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndim\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m1\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0mindexer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msize\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n",
      "\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n",
      "\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n",
      "\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n",
      "\u001b[0;31mKeyError\u001b[0m: 'HK'"
     ]
    }
   ],
   "source": [
    "covid19['HK']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "                  HK   BJ    GD   SH   SC\nactive_case       44   44    27   18   17\ntotal_confirmd  1109  637  1625  691  683",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>HK</th>\n      <th>BJ</th>\n      <th>GD</th>\n      <th>SH</th>\n      <th>SC</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>active_case</th>\n      <td>44</td>\n      <td>44</td>\n      <td>27</td>\n      <td>18</td>\n      <td>17</td>\n    </tr>\n    <tr>\n      <th>total_confirmd</th>\n      <td>1109</td>\n      <td>637</td>\n      <td>1625</td>\n      <td>691</td>\n      <td>683</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 68
    }
   ],
   "source": [
    "covid19.T"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "    active_case  total_confirmd\nHK           44            1109\nBJ           44             637\nGD           27            1625",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>active_case</th>\n      <th>total_confirmd</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>HK</th>\n      <td>44</td>\n      <td>1109</td>\n    </tr>\n    <tr>\n      <th>BJ</th>\n      <td>44</td>\n      <td>637</td>\n    </tr>\n    <tr>\n      <th>GD</th>\n      <td>27</td>\n      <td>1625</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 69
    }
   ],
   "source": [
    "covid19.iloc[:3,:2]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "    active_case\nHK           44\nBJ           44\nGD           27\nSH           18",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>active_case</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>HK</th>\n      <td>44</td>\n    </tr>\n    <tr>\n      <th>BJ</th>\n      <td>44</td>\n    </tr>\n    <tr>\n      <th>GD</th>\n      <td>27</td>\n    </tr>\n    <tr>\n      <th>SH</th>\n      <td>18</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 70
    }
   ],
   "source": [
    "covid19.loc[:'SH',:'active_case']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "a     2.666667\nb     0.166667\nc     0.250000\nd     0.333333\ne     1.046667\nf    14.000000\ndtype: float64"
     },
     "metadata": {},
     "execution_count": 71
    }
   ],
   "source": [
    "data / 3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "0    NaN\n1    NaN\n2    9.0\n4    NaN\ndtype: float64"
     },
     "metadata": {},
     "execution_count": 72
    }
   ],
   "source": [
    "A = pd.Series([2,4,6], index=[0,1,2])\n",
    "B = pd.Series([3,5], index=[2,4])\n",
    "A+B"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "0    2.0\n1    4.0\n2    9.0\n4    5.0\ndtype: float64"
     },
     "metadata": {},
     "execution_count": 73
    }
   ],
   "source": [
    "A.add(B, fill_value=0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 处理缺失值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "0        1\n1      NaN\n2    hello\n3     None\ndtype: object"
     },
     "metadata": {},
     "execution_count": 74
    }
   ],
   "source": [
    "data = pd.Series([1,np.nan, 'hello', None])\n",
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "0    False\n1     True\n2    False\n3     True\ndtype: bool"
     },
     "metadata": {},
     "execution_count": 75
    }
   ],
   "source": [
    "data.isnull()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "0     True\n1    False\n2     True\n3    False\ndtype: bool"
     },
     "metadata": {},
     "execution_count": 76
    }
   ],
   "source": [
    "data.notnull()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "0        1\n2    hello\ndtype: object"
     },
     "metadata": {},
     "execution_count": 77
    }
   ],
   "source": [
    "data[data.notnull()]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "0        1\n1      NaN\n2    hello\n3     None\ndtype: object"
     },
     "metadata": {},
     "execution_count": 78
    }
   ],
   "source": [
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "0        1\n2    hello\ndtype: object"
     },
     "metadata": {},
     "execution_count": 79
    }
   ],
   "source": [
    "data.dropna()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "     0    1    2\n0  1.0  NaN  2.0\n1  2.0  3.0  5.0\n2  NaN  4.0  6.0",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>0</th>\n      <th>1</th>\n      <th>2</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>1.0</td>\n      <td>NaN</td>\n      <td>2.0</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>2.0</td>\n      <td>3.0</td>\n      <td>5.0</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>NaN</td>\n      <td>4.0</td>\n      <td>6.0</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 80
    }
   ],
   "source": [
    "df = pd.DataFrame([[1,np.nan,2.0],[2,3,5],[np.nan,4,6]])\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "     0    1    2\n1  2.0  3.0  5.0",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>0</th>\n      <th>1</th>\n      <th>2</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>1</th>\n      <td>2.0</td>\n      <td>3.0</td>\n      <td>5.0</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 81
    }
   ],
   "source": [
    "df.dropna()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "     2\n0  2.0\n1  5.0\n2  6.0",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>2</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>2.0</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>5.0</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>6.0</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 82
    }
   ],
   "source": [
    "df.dropna(axis='columns')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "     0    1    2   3\n0  1.0  NaN  2.0 NaN\n1  2.0  3.0  5.0 NaN\n2  NaN  4.0  6.0 NaN",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>0</th>\n      <th>1</th>\n      <th>2</th>\n      <th>3</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>1.0</td>\n      <td>NaN</td>\n      <td>2.0</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>2.0</td>\n      <td>3.0</td>\n      <td>5.0</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>NaN</td>\n      <td>4.0</td>\n      <td>6.0</td>\n      <td>NaN</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 83
    }
   ],
   "source": [
    "df[3] = np.nan\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "     0    1    2\n0  1.0  NaN  2.0\n1  2.0  3.0  5.0\n2  NaN  4.0  6.0",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>0</th>\n      <th>1</th>\n      <th>2</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>1.0</td>\n      <td>NaN</td>\n      <td>2.0</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>2.0</td>\n      <td>3.0</td>\n      <td>5.0</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>NaN</td>\n      <td>4.0</td>\n      <td>6.0</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 84
    }
   ],
   "source": [
    "df.dropna(axis='columns', how='all')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "     0    1    2   3\n1  2.0  3.0  5.0 NaN",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>0</th>\n      <th>1</th>\n      <th>2</th>\n      <th>3</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>1</th>\n      <td>2.0</td>\n      <td>3.0</td>\n      <td>5.0</td>\n      <td>NaN</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 85
    }
   ],
   "source": [
    "df.dropna(thresh=3) # 阙值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "     0    1    2    3\n0  1.0  0.0  2.0  0.0\n1  2.0  3.0  5.0  0.0\n2  0.0  4.0  6.0  0.0",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>0</th>\n      <th>1</th>\n      <th>2</th>\n      <th>3</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>1.0</td>\n      <td>0.0</td>\n      <td>2.0</td>\n      <td>0.0</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>2.0</td>\n      <td>3.0</td>\n      <td>5.0</td>\n      <td>0.0</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>0.0</td>\n      <td>4.0</td>\n      <td>6.0</td>\n      <td>0.0</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 86
    }
   ],
   "source": [
    "df.fillna(0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "     0    1    2   3\n0  1.0  NaN  2.0 NaN\n1  2.0  3.0  5.0 NaN\n2  NaN  4.0  6.0 NaN",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>0</th>\n      <th>1</th>\n      <th>2</th>\n      <th>3</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>1.0</td>\n      <td>NaN</td>\n      <td>2.0</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>2.0</td>\n      <td>3.0</td>\n      <td>5.0</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>NaN</td>\n      <td>4.0</td>\n      <td>6.0</td>\n      <td>NaN</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 87
    }
   ],
   "source": [
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "     0    1    2   3\n0  1.0  NaN  2.0 NaN\n1  2.0  3.0  5.0 NaN\n2  2.0  4.0  6.0 NaN",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>0</th>\n      <th>1</th>\n      <th>2</th>\n      <th>3</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>1.0</td>\n      <td>NaN</td>\n      <td>2.0</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>2.0</td>\n      <td>3.0</td>\n      <td>5.0</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>2.0</td>\n      <td>4.0</td>\n      <td>6.0</td>\n      <td>NaN</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 88
    }
   ],
   "source": [
    "df.fillna(method='ffill') # forward-fill"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "     0    1    2   3\n0  1.0  3.0  2.0 NaN\n1  2.0  3.0  5.0 NaN\n2  NaN  4.0  6.0 NaN",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>0</th>\n      <th>1</th>\n      <th>2</th>\n      <th>3</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>1.0</td>\n      <td>3.0</td>\n      <td>2.0</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>2.0</td>\n      <td>3.0</td>\n      <td>5.0</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>NaN</td>\n      <td>4.0</td>\n      <td>6.0</td>\n      <td>NaN</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 89
    }
   ],
   "source": [
    "df.fillna(method='bfill') #back-fill"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 层级索引"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "MultiIndex([('ZJ', 2010),\n            ('ZJ', 2020),\n            ('JS', 2010),\n            ('JS', 2020)],\n           )"
     },
     "metadata": {},
     "execution_count": 90
    }
   ],
   "source": [
    "index = [('ZJ',2010),('ZJ',2020),('JS',2010),('JS',2020)]\n",
    "index = pd.MultiIndex.from_tuples(index)\n",
    "index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "ZJ  2010    10000\n    2020    20000\nJS  2010     8000\n    2020    22000\ndtype: int64"
     },
     "metadata": {},
     "execution_count": 91
    }
   ],
   "source": [
    "GDP = pd.Series([10000,20000,8000,22000],index=index)\n",
    "GDP"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "     2010   2020\nJS   8000  22000\nZJ  10000  20000",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>2010</th>\n      <th>2020</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>JS</th>\n      <td>8000</td>\n      <td>22000</td>\n    </tr>\n    <tr>\n      <th>ZJ</th>\n      <td>10000</td>\n      <td>20000</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 92
    }
   ],
   "source": [
    "GDP_df = GDP.unstack()\n",
    "GDP_df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "JS  2010     8000\n    2020    22000\nZJ  2010    10000\n    2020    20000\ndtype: int64"
     },
     "metadata": {},
     "execution_count": 93
    }
   ],
   "source": [
    "GDP_df.stack()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "         total  rate\nZJ 2010  10000    10\n   2020  20000     5\nJS 2010   8000     8\n   2020  22000    12",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th></th>\n      <th>total</th>\n      <th>rate</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th rowspan=\"2\" valign=\"top\">ZJ</th>\n      <th>2010</th>\n      <td>10000</td>\n      <td>10</td>\n    </tr>\n    <tr>\n      <th>2020</th>\n      <td>20000</td>\n      <td>5</td>\n    </tr>\n    <tr>\n      <th rowspan=\"2\" valign=\"top\">JS</th>\n      <th>2010</th>\n      <td>8000</td>\n      <td>8</td>\n    </tr>\n    <tr>\n      <th>2020</th>\n      <td>22000</td>\n      <td>12</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 94
    }
   ],
   "source": [
    "GDP_df = pd.DataFrame({'total':GDP, 'rate':[10,5,8,12]})\n",
    "GDP_df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "ZJ  2010    10000\n    2020    20000\nJS  2010     8000\n    2020    22000\nName: total, dtype: int64"
     },
     "metadata": {},
     "execution_count": 95
    }
   ],
   "source": [
    "GDP_df['total']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "ZJ  2010    11000.0\n    2020    21000.0\nJS  2010     8640.0\n    2020    24640.0\ndtype: float64"
     },
     "metadata": {},
     "execution_count": 96
    }
   ],
   "source": [
    "GDP_df['total'] * (1+GDP_df['rate']/100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "ZJ  2010    10000\n    2020    20000\nJS  2010     8000\n    2020    22000\ndtype: int64"
     },
     "metadata": {},
     "execution_count": 97
    }
   ],
   "source": [
    "GDP"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "10000"
     },
     "metadata": {},
     "execution_count": 98
    }
   ],
   "source": [
    "GDP['ZJ',2010]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "metadata": {},
   "outputs": [
    {
     "output_type": "error",
     "ename": "SyntaxError",
     "evalue": "invalid syntax (<ipython-input-99-989badda888d>, line 1)",
     "traceback": [
      "\u001b[0;36m  File \u001b[0;32m\"<ipython-input-99-989badda888d>\"\u001b[0;36m, line \u001b[0;32m1\u001b[0m\n\u001b[0;31m    GDP['ZJ',2020]ß\u001b[0m\n\u001b[0m                  ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n"
     ]
    }
   ],
   "source": [
    "GDP['ZJ',2020]ß"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 合并数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "1    A\n2    B\n3    C\n3    C\n5    E\n6    F\ndtype: object"
     },
     "metadata": {},
     "execution_count": 100
    }
   ],
   "source": [
    "ser1 = pd.Series(['A', 'B', 'C'], index=[1, 2, 3])\n",
    "ser2 = pd.Series(['C', 'E', 'F'], index=[3, 5, 6])\n",
    "pd.concat([ser1, ser2])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "metadata": {},
   "outputs": [
    {
     "output_type": "error",
     "ename": "ValueError",
     "evalue": "Indexes have overlapping values: Int64Index([3], dtype='int64')",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mValueError\u001b[0m                                Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-101-f4fd53cb3f64>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mconcat\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mser1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mser2\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mverify_integrity\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;32m/usr/local/anaconda3/lib/python3.7/site-packages/pandas/core/reshape/concat.py\u001b[0m in \u001b[0;36mconcat\u001b[0;34m(objs, axis, join, ignore_index, keys, levels, names, verify_integrity, sort, copy)\u001b[0m\n\u001b[1;32m    279\u001b[0m         \u001b[0mverify_integrity\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mverify_integrity\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    280\u001b[0m         \u001b[0mcopy\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mcopy\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 281\u001b[0;31m         \u001b[0msort\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0msort\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    282\u001b[0m     )\n\u001b[1;32m    283\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/local/anaconda3/lib/python3.7/site-packages/pandas/core/reshape/concat.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, objs, axis, join, keys, levels, names, ignore_index, verify_integrity, copy, sort)\u001b[0m\n\u001b[1;32m    450\u001b[0m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcopy\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcopy\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    451\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 452\u001b[0;31m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnew_axes\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_new_axes\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    453\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    454\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0mget_result\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/local/anaconda3/lib/python3.7/site-packages/pandas/core/reshape/concat.py\u001b[0m in \u001b[0;36m_get_new_axes\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m    515\u001b[0m         return [\n\u001b[1;32m    516\u001b[0m             \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_concat_axis\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mi\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0maxis\u001b[0m \u001b[0;32melse\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_comb_axis\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 517\u001b[0;31m             \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mndim\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    518\u001b[0m         ]\n\u001b[1;32m    519\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/local/anaconda3/lib/python3.7/site-packages/pandas/core/reshape/concat.py\u001b[0m in \u001b[0;36m<listcomp>\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m    515\u001b[0m         return [\n\u001b[1;32m    516\u001b[0m             \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_concat_axis\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mi\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0maxis\u001b[0m \u001b[0;32melse\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_comb_axis\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 517\u001b[0;31m             \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mndim\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    518\u001b[0m         ]\n\u001b[1;32m    519\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/local/anaconda3/lib/python3.7/site-packages/pandas/core/reshape/concat.py\u001b[0m in \u001b[0;36m_get_concat_axis\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m    570\u001b[0m             )\n\u001b[1;32m    571\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 572\u001b[0;31m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_maybe_check_integrity\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mconcat_axis\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    573\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    574\u001b[0m         \u001b[0;32mreturn\u001b[0m \u001b[0mconcat_axis\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/local/anaconda3/lib/python3.7/site-packages/pandas/core/reshape/concat.py\u001b[0m in \u001b[0;36m_maybe_check_integrity\u001b[0;34m(self, concat_index)\u001b[0m\n\u001b[1;32m    580\u001b[0m                 raise ValueError(\n\u001b[1;32m    581\u001b[0m                     \u001b[0;34m\"Indexes have overlapping values: \"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 582\u001b[0;31m                     \u001b[0;34m\"{overlap!s}\"\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mformat\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0moverlap\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0moverlap\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    583\u001b[0m                 )\n\u001b[1;32m    584\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mValueError\u001b[0m: Indexes have overlapping values: Int64Index([3], dtype='int64')"
     ]
    }
   ],
   "source": [
    "pd.concat([ser1, ser2], verify_integrity=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "0    A\n1    B\n2    C\n3    C\n4    E\n5    F\ndtype: object"
     },
     "metadata": {},
     "execution_count": 102
    }
   ],
   "source": [
    "pd.concat([ser1, ser2], ignore_index=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 103,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "x  1    A\n   2    B\n   3    C\ny  3    C\n   5    E\n   6    F\ndtype: object"
     },
     "metadata": {},
     "execution_count": 103
    }
   ],
   "source": [
    "pd.concat([ser1, ser2], keys=['x','y'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 104,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "[2, 4, 6, 8, 10]"
     },
     "metadata": {},
     "execution_count": 104
    }
   ],
   "source": [
    "example = [1,2,3,4,5]\n",
    "result = [y*2 for y in example]\n",
    "result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "metadata": {},
   "outputs": [],
   "source": [
    "def make_df(cols, ind): \n",
    "    data = {c: [str(c) + str(i) for i in ind] for c in cols}\n",
    "    return pd.DataFrame(data, ind)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "    A   B   C\n0  A0  B0  C0\n1  A1  B1  C1\n2  A2  B2  C2",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>A</th>\n      <th>B</th>\n      <th>C</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>A0</td>\n      <td>B0</td>\n      <td>C0</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>A1</td>\n      <td>B1</td>\n      <td>C1</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>A2</td>\n      <td>B2</td>\n      <td>C2</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 106
    }
   ],
   "source": [
    "make_df('ABC', range(3))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 107,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "    A   B\n0  A0  B0\n1  A1  B1",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>A</th>\n      <th>B</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>A0</td>\n      <td>B0</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>A1</td>\n      <td>B1</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 107
    }
   ],
   "source": [
    "df1 = make_df('AB',[0,1])\n",
    "df1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 108,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "    B   C\n0  B0  C0\n1  B1  C1",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>B</th>\n      <th>C</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>B0</td>\n      <td>C0</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>B1</td>\n      <td>C1</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 108
    }
   ],
   "source": [
    "df2 = make_df('BC', [0,1])\n",
    "df2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 109,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "     A   B    C\n0   A0  B0  NaN\n1   A1  B1  NaN\n0  NaN  B0   C0\n1  NaN  B1   C1",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>A</th>\n      <th>B</th>\n      <th>C</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>A0</td>\n      <td>B0</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>A1</td>\n      <td>B1</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>0</th>\n      <td>NaN</td>\n      <td>B0</td>\n      <td>C0</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>NaN</td>\n      <td>B1</td>\n      <td>C1</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 109
    }
   ],
   "source": [
    "pd.concat([df1, df2])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 110,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "    A   B   C\n0  A0  B0  C0\n1  A1  B1  C1",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>A</th>\n      <th>B</th>\n      <th>C</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>A0</td>\n      <td>B0</td>\n      <td>C0</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>A1</td>\n      <td>B1</td>\n      <td>C1</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 110
    }
   ],
   "source": [
    "pd.merge(df1, df2) # 一对一"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 111,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "  employee        group\n0      Bob   Accounting\n1     Jake  Engineering\n2     Lisa  Engineering\n3      Sue           HR",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>employee</th>\n      <th>group</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>Bob</td>\n      <td>Accounting</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>Jake</td>\n      <td>Engineering</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>Lisa</td>\n      <td>Engineering</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>Sue</td>\n      <td>HR</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 111
    }
   ],
   "source": [
    "df3 = pd.DataFrame({'employee': ['Bob', 'Jake', 'Lisa', 'Sue'],\n",
    "'group': ['Accounting', 'Engineering', 'Engineering', 'HR']})\n",
    "df3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 112,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "  employee  hire_date\n0     Lisa       2004\n1      Bob       2008\n2     Jake       2012\n3     Alan       2014",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>employee</th>\n      <th>hire_date</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>Lisa</td>\n      <td>2004</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>Bob</td>\n      <td>2008</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>Jake</td>\n      <td>2012</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>Alan</td>\n      <td>2014</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 112
    }
   ],
   "source": [
    "df4 = pd.DataFrame({'employee': ['Lisa', 'Bob', 'Jake', 'Alan'],\n",
    "'hire_date': [2004, 2008, 2012, 2014]})\n",
    "df4"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 113,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "  employee        group  hire_date\n0      Bob   Accounting     2008.0\n1     Jake  Engineering     2012.0\n2     Lisa  Engineering     2004.0\n3      Sue           HR        NaN\n4     Alan          NaN     2014.0",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>employee</th>\n      <th>group</th>\n      <th>hire_date</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>Bob</td>\n      <td>Accounting</td>\n      <td>2008.0</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>Jake</td>\n      <td>Engineering</td>\n      <td>2012.0</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>Lisa</td>\n      <td>Engineering</td>\n      <td>2004.0</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>Sue</td>\n      <td>HR</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>Alan</td>\n      <td>NaN</td>\n      <td>2014.0</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 113
    }
   ],
   "source": [
    "df5 = pd.merge(df3, df4, how='outer') # 交集 并集\n",
    "df5"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 114,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "         group supervisor\n0   Accounting      Carly\n1  Engineering      Guido\n2           HR      Steve",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>group</th>\n      <th>supervisor</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>Accounting</td>\n      <td>Carly</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>Engineering</td>\n      <td>Guido</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>HR</td>\n      <td>Steve</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 114
    }
   ],
   "source": [
    "df6 = pd.DataFrame({'group': ['Accounting', 'Engineering', 'HR'], 'supervisor': ['Carly', 'Guido', 'Steve']})\n",
    "df6"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 115,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "  employee        group  hire_date supervisor\n0      Bob   Accounting     2008.0      Carly\n1     Jake  Engineering     2012.0      Guido\n2     Lisa  Engineering     2004.0      Guido\n3      Sue           HR        NaN      Steve",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>employee</th>\n      <th>group</th>\n      <th>hire_date</th>\n      <th>supervisor</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>Bob</td>\n      <td>Accounting</td>\n      <td>2008.0</td>\n      <td>Carly</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>Jake</td>\n      <td>Engineering</td>\n      <td>2012.0</td>\n      <td>Guido</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>Lisa</td>\n      <td>Engineering</td>\n      <td>2004.0</td>\n      <td>Guido</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>Sue</td>\n      <td>HR</td>\n      <td>NaN</td>\n      <td>Steve</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 115
    }
   ],
   "source": [
    "pd.merge(df5, df6) # 一对多"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 116,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "  employee        group\n0      Bob   Accounting\n1     Jake  Engineering\n2     Lisa  Engineering\n3      Sue           HR",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>employee</th>\n      <th>group</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>Bob</td>\n      <td>Accounting</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>Jake</td>\n      <td>Engineering</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>Lisa</td>\n      <td>Engineering</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>Sue</td>\n      <td>HR</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 116
    }
   ],
   "source": [
    "df3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 117,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "         group        skills\n0   Accounting          math\n1   Accounting  spreadsheets\n2  Engineering        coding\n3  Engineering         linux\n4           HR  spreadsheets\n5           HR  organization",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>group</th>\n      <th>skills</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>Accounting</td>\n      <td>math</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>Accounting</td>\n      <td>spreadsheets</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>Engineering</td>\n      <td>coding</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>Engineering</td>\n      <td>linux</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>HR</td>\n      <td>spreadsheets</td>\n    </tr>\n    <tr>\n      <th>5</th>\n      <td>HR</td>\n      <td>organization</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 117
    }
   ],
   "source": [
    "df7 = pd.DataFrame({'group': ['Accounting', 'Accounting',\n",
    "'Engineering', 'Engineering', 'HR', 'HR'],'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']})\n",
    "df7"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 118,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "  employee        group        skills\n0      Bob   Accounting          math\n1      Bob   Accounting  spreadsheets\n2     Jake  Engineering        coding\n3     Jake  Engineering         linux\n4     Lisa  Engineering        coding\n5     Lisa  Engineering         linux\n6      Sue           HR  spreadsheets\n7      Sue           HR  organization",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>employee</th>\n      <th>group</th>\n      <th>skills</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>Bob</td>\n      <td>Accounting</td>\n      <td>math</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>Bob</td>\n      <td>Accounting</td>\n      <td>spreadsheets</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>Jake</td>\n      <td>Engineering</td>\n      <td>coding</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>Jake</td>\n      <td>Engineering</td>\n      <td>linux</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>Lisa</td>\n      <td>Engineering</td>\n      <td>coding</td>\n    </tr>\n    <tr>\n      <th>5</th>\n      <td>Lisa</td>\n      <td>Engineering</td>\n      <td>linux</td>\n    </tr>\n    <tr>\n      <th>6</th>\n      <td>Sue</td>\n      <td>HR</td>\n      <td>spreadsheets</td>\n    </tr>\n    <tr>\n      <th>7</th>\n      <td>Sue</td>\n      <td>HR</td>\n      <td>organization</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 118
    }
   ],
   "source": [
    "pd.merge(df3, df7) # 多对多"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 119,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "   name  salary\n0   Bob   70000\n1  Jake   80000\n2  Lisa  120000\n3   Sue   90000",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>name</th>\n      <th>salary</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>Bob</td>\n      <td>70000</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>Jake</td>\n      <td>80000</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>Lisa</td>\n      <td>120000</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>Sue</td>\n      <td>90000</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 119
    }
   ],
   "source": [
    "df8 = pd.DataFrame({'name': ['Bob', 'Jake', 'Lisa', 'Sue'],\n",
    "      'salary': [70000, 80000, 120000, 90000]})\n",
    "df8"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 120,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "  employee        group  name  salary\n0      Bob   Accounting   Bob   70000\n1     Jake  Engineering  Jake   80000\n2     Lisa  Engineering  Lisa  120000\n3      Sue           HR   Sue   90000",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>employee</th>\n      <th>group</th>\n      <th>name</th>\n      <th>salary</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>Bob</td>\n      <td>Accounting</td>\n      <td>Bob</td>\n      <td>70000</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>Jake</td>\n      <td>Engineering</td>\n      <td>Jake</td>\n      <td>80000</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>Lisa</td>\n      <td>Engineering</td>\n      <td>Lisa</td>\n      <td>120000</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>Sue</td>\n      <td>HR</td>\n      <td>Sue</td>\n      <td>90000</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 120
    }
   ],
   "source": [
    "pd.merge(df3, df8, left_on='employee', right_on='name')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 121,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "  employee        group  salary\n0      Bob   Accounting   70000\n1     Jake  Engineering   80000\n2     Lisa  Engineering  120000\n3      Sue           HR   90000",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>employee</th>\n      <th>group</th>\n      <th>salary</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>Bob</td>\n      <td>Accounting</td>\n      <td>70000</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>Jake</td>\n      <td>Engineering</td>\n      <td>80000</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>Lisa</td>\n      <td>Engineering</td>\n      <td>120000</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>Sue</td>\n      <td>HR</td>\n      <td>90000</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 121
    }
   ],
   "source": [
    "pd.merge(df3, df8, left_on='employee', right_on='name').drop('name', axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 122,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "   name  rank\n0   Bob     1\n1  Jake     2\n2  Lisa     3\n3   Sue     4",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>name</th>\n      <th>rank</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>Bob</td>\n      <td>1</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>Jake</td>\n      <td>2</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>Lisa</td>\n      <td>3</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>Sue</td>\n      <td>4</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 122
    }
   ],
   "source": [
    "df9 = pd.DataFrame({'name': ['Bob', 'Jake', 'Lisa', 'Sue'], 'rank': [1, 2, 3, 4]})\n",
    "df10 = pd.DataFrame({'name': ['Bob', 'Jake', 'Lisa', 'Sue'], 'rank': [3, 1, 4, 2]})\n",
    "df9"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 123,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "   name  rank_x  rank_y\n0   Bob       1       3\n1  Jake       2       1\n2  Lisa       3       4\n3   Sue       4       2",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>name</th>\n      <th>rank_x</th>\n      <th>rank_y</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>Bob</td>\n      <td>1</td>\n      <td>3</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>Jake</td>\n      <td>2</td>\n      <td>1</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>Lisa</td>\n      <td>3</td>\n      <td>4</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>Sue</td>\n      <td>4</td>\n      <td>2</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 123
    }
   ],
   "source": [
    "pd.merge(df9, df10, on='name') # 主键"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 124,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "   name  rank_L  rank_R\n0   Bob       1       3\n1  Jake       2       1\n2  Lisa       3       4\n3   Sue       4       2",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>name</th>\n      <th>rank_L</th>\n      <th>rank_R</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>Bob</td>\n      <td>1</td>\n      <td>3</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>Jake</td>\n      <td>2</td>\n      <td>1</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>Lisa</td>\n      <td>3</td>\n      <td>4</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>Sue</td>\n      <td>4</td>\n      <td>2</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 124
    }
   ],
   "source": [
    "pd.merge(df9, df10, on='name', suffixes=['_L', '_R'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 分组统计"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 125,
   "metadata": {},
   "outputs": [],
   "source": [
    "import seaborn as sns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 126,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "(1035, 6)"
     },
     "metadata": {},
     "execution_count": 126
    }
   ],
   "source": [
    "planets = sns.load_dataset('planets')\n",
    "planets.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 127,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "       method  number  orbital_period  mass  distance  year\n1025  Transit       1        3.067850   NaN      60.0  2012\n1026  Transit       1        0.925542   NaN     470.0  2014\n1027  Imaging       1             NaN   NaN      19.2  2011\n1028  Transit       1        3.352057   NaN    3200.0  2012\n1029  Imaging       1             NaN   NaN      10.1  2012\n1030  Transit       1        3.941507   NaN     172.0  2006\n1031  Transit       1        2.615864   NaN     148.0  2007\n1032  Transit       1        3.191524   NaN     174.0  2007\n1033  Transit       1        4.125083   NaN     293.0  2008\n1034  Transit       1        4.187757   NaN     260.0  2008",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>method</th>\n      <th>number</th>\n      <th>orbital_period</th>\n      <th>mass</th>\n      <th>distance</th>\n      <th>year</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>1025</th>\n      <td>Transit</td>\n      <td>1</td>\n      <td>3.067850</td>\n      <td>NaN</td>\n      <td>60.0</td>\n      <td>2012</td>\n    </tr>\n    <tr>\n      <th>1026</th>\n      <td>Transit</td>\n      <td>1</td>\n      <td>0.925542</td>\n      <td>NaN</td>\n      <td>470.0</td>\n      <td>2014</td>\n    </tr>\n    <tr>\n      <th>1027</th>\n      <td>Imaging</td>\n      <td>1</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>19.2</td>\n      <td>2011</td>\n    </tr>\n    <tr>\n      <th>1028</th>\n      <td>Transit</td>\n      <td>1</td>\n      <td>3.352057</td>\n      <td>NaN</td>\n      <td>3200.0</td>\n      <td>2012</td>\n    </tr>\n    <tr>\n      <th>1029</th>\n      <td>Imaging</td>\n      <td>1</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>10.1</td>\n      <td>2012</td>\n    </tr>\n    <tr>\n      <th>1030</th>\n      <td>Transit</td>\n      <td>1</td>\n      <td>3.941507</td>\n      <td>NaN</td>\n      <td>172.0</td>\n      <td>2006</td>\n    </tr>\n    <tr>\n      <th>1031</th>\n      <td>Transit</td>\n      <td>1</td>\n      <td>2.615864</td>\n      <td>NaN</td>\n      <td>148.0</td>\n      <td>2007</td>\n    </tr>\n    <tr>\n      <th>1032</th>\n      <td>Transit</td>\n      <td>1</td>\n      <td>3.191524</td>\n      <td>NaN</td>\n      <td>174.0</td>\n      <td>2007</td>\n    </tr>\n    <tr>\n      <th>1033</th>\n      <td>Transit</td>\n      <td>1</td>\n      <td>4.125083</td>\n      <td>NaN</td>\n      <td>293.0</td>\n      <td>2008</td>\n    </tr>\n    <tr>\n      <th>1034</th>\n      <td>Transit</td>\n      <td>1</td>\n      <td>4.187757</td>\n      <td>NaN</td>\n      <td>260.0</td>\n      <td>2008</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 127
    }
   ],
   "source": [
    "planets.tail(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 128,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "               method  number  orbital_period   mass  distance  year\n0     Radial Velocity       1      269.300000   7.10     77.40  2006\n1     Radial Velocity       1      874.774000   2.21     56.95  2008\n2     Radial Velocity       1      763.000000   2.60     19.84  2011\n3     Radial Velocity       1      326.030000  19.40    110.62  2007\n4     Radial Velocity       1      516.220000  10.50    119.47  2009\n...               ...     ...             ...    ...       ...   ...\n1030          Transit       1        3.941507    NaN    172.00  2006\n1031          Transit       1        2.615864    NaN    148.00  2007\n1032          Transit       1        3.191524    NaN    174.00  2007\n1033          Transit       1        4.125083    NaN    293.00  2008\n1034          Transit       1        4.187757    NaN    260.00  2008\n\n[1035 rows x 6 columns]",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>method</th>\n      <th>number</th>\n      <th>orbital_period</th>\n      <th>mass</th>\n      <th>distance</th>\n      <th>year</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>Radial Velocity</td>\n      <td>1</td>\n      <td>269.300000</td>\n      <td>7.10</td>\n      <td>77.40</td>\n      <td>2006</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>Radial Velocity</td>\n      <td>1</td>\n      <td>874.774000</td>\n      <td>2.21</td>\n      <td>56.95</td>\n      <td>2008</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>Radial Velocity</td>\n      <td>1</td>\n      <td>763.000000</td>\n      <td>2.60</td>\n      <td>19.84</td>\n      <td>2011</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>Radial Velocity</td>\n      <td>1</td>\n      <td>326.030000</td>\n      <td>19.40</td>\n      <td>110.62</td>\n      <td>2007</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>Radial Velocity</td>\n      <td>1</td>\n      <td>516.220000</td>\n      <td>10.50</td>\n      <td>119.47</td>\n      <td>2009</td>\n    </tr>\n    <tr>\n      <th>...</th>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n    </tr>\n    <tr>\n      <th>1030</th>\n      <td>Transit</td>\n      <td>1</td>\n      <td>3.941507</td>\n      <td>NaN</td>\n      <td>172.00</td>\n      <td>2006</td>\n    </tr>\n    <tr>\n      <th>1031</th>\n      <td>Transit</td>\n      <td>1</td>\n      <td>2.615864</td>\n      <td>NaN</td>\n      <td>148.00</td>\n      <td>2007</td>\n    </tr>\n    <tr>\n      <th>1032</th>\n      <td>Transit</td>\n      <td>1</td>\n      <td>3.191524</td>\n      <td>NaN</td>\n      <td>174.00</td>\n      <td>2007</td>\n    </tr>\n    <tr>\n      <th>1033</th>\n      <td>Transit</td>\n      <td>1</td>\n      <td>4.125083</td>\n      <td>NaN</td>\n      <td>293.00</td>\n      <td>2008</td>\n    </tr>\n    <tr>\n      <th>1034</th>\n      <td>Transit</td>\n      <td>1</td>\n      <td>4.187757</td>\n      <td>NaN</td>\n      <td>260.00</td>\n      <td>2008</td>\n    </tr>\n  </tbody>\n</table>\n<p>1035 rows × 6 columns</p>\n</div>"
     },
     "metadata": {},
     "execution_count": 128
    }
   ],
   "source": [
    "planets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 129,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "            method  number  orbital_period   mass  distance  year\n0  Radial Velocity       1         269.300   7.10     77.40  2006\n1  Radial Velocity       1         874.774   2.21     56.95  2008\n2  Radial Velocity       1         763.000   2.60     19.84  2011\n3  Radial Velocity       1         326.030  19.40    110.62  2007\n4  Radial Velocity       1         516.220  10.50    119.47  2009",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>method</th>\n      <th>number</th>\n      <th>orbital_period</th>\n      <th>mass</th>\n      <th>distance</th>\n      <th>year</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>Radial Velocity</td>\n      <td>1</td>\n      <td>269.300</td>\n      <td>7.10</td>\n      <td>77.40</td>\n      <td>2006</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>Radial Velocity</td>\n      <td>1</td>\n      <td>874.774</td>\n      <td>2.21</td>\n      <td>56.95</td>\n      <td>2008</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>Radial Velocity</td>\n      <td>1</td>\n      <td>763.000</td>\n      <td>2.60</td>\n      <td>19.84</td>\n      <td>2011</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>Radial Velocity</td>\n      <td>1</td>\n      <td>326.030</td>\n      <td>19.40</td>\n      <td>110.62</td>\n      <td>2007</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>Radial Velocity</td>\n      <td>1</td>\n      <td>516.220</td>\n      <td>10.50</td>\n      <td>119.47</td>\n      <td>2009</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 129
    }
   ],
   "source": [
    "planets.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 130,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "       method  number  orbital_period  mass  distance  year\n1030  Transit       1        3.941507   NaN     172.0  2006\n1031  Transit       1        2.615864   NaN     148.0  2007\n1032  Transit       1        3.191524   NaN     174.0  2007\n1033  Transit       1        4.125083   NaN     293.0  2008\n1034  Transit       1        4.187757   NaN     260.0  2008",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>method</th>\n      <th>number</th>\n      <th>orbital_period</th>\n      <th>mass</th>\n      <th>distance</th>\n      <th>year</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>1030</th>\n      <td>Transit</td>\n      <td>1</td>\n      <td>3.941507</td>\n      <td>NaN</td>\n      <td>172.0</td>\n      <td>2006</td>\n    </tr>\n    <tr>\n      <th>1031</th>\n      <td>Transit</td>\n      <td>1</td>\n      <td>2.615864</td>\n      <td>NaN</td>\n      <td>148.0</td>\n      <td>2007</td>\n    </tr>\n    <tr>\n      <th>1032</th>\n      <td>Transit</td>\n      <td>1</td>\n      <td>3.191524</td>\n      <td>NaN</td>\n      <td>174.0</td>\n      <td>2007</td>\n    </tr>\n    <tr>\n      <th>1033</th>\n      <td>Transit</td>\n      <td>1</td>\n      <td>4.125083</td>\n      <td>NaN</td>\n      <td>293.0</td>\n      <td>2008</td>\n    </tr>\n    <tr>\n      <th>1034</th>\n      <td>Transit</td>\n      <td>1</td>\n      <td>4.187757</td>\n      <td>NaN</td>\n      <td>260.0</td>\n      <td>2008</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 130
    }
   ],
   "source": [
    "planets.tail()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 131,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "number               1.785507\norbital_period    2002.917596\nmass                 2.638161\ndistance           264.069282\nyear              2009.070531\ndtype: float64"
     },
     "metadata": {},
     "execution_count": 131
    }
   ],
   "source": [
    "planets.mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 132,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "264.06928217821786"
     },
     "metadata": {},
     "execution_count": 132
    }
   ],
   "source": [
    "planets['distance'].mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 133,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "            number  orbital_period        mass     distance         year\ncount  1035.000000      992.000000  513.000000   808.000000  1035.000000\nmean      1.785507     2002.917596    2.638161   264.069282  2009.070531\nstd       1.240976    26014.728304    3.818617   733.116493     3.972567\nmin       1.000000        0.090706    0.003600     1.350000  1989.000000\n25%       1.000000        5.442540    0.229000    32.560000  2007.000000\n50%       1.000000       39.979500    1.260000    55.250000  2010.000000\n75%       2.000000      526.005000    3.040000   178.500000  2012.000000\nmax       7.000000   730000.000000   25.000000  8500.000000  2014.000000",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>number</th>\n      <th>orbital_period</th>\n      <th>mass</th>\n      <th>distance</th>\n      <th>year</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>count</th>\n      <td>1035.000000</td>\n      <td>992.000000</td>\n      <td>513.000000</td>\n      <td>808.000000</td>\n      <td>1035.000000</td>\n    </tr>\n    <tr>\n      <th>mean</th>\n      <td>1.785507</td>\n      <td>2002.917596</td>\n      <td>2.638161</td>\n      <td>264.069282</td>\n      <td>2009.070531</td>\n    </tr>\n    <tr>\n      <th>std</th>\n      <td>1.240976</td>\n      <td>26014.728304</td>\n      <td>3.818617</td>\n      <td>733.116493</td>\n      <td>3.972567</td>\n    </tr>\n    <tr>\n      <th>min</th>\n      <td>1.000000</td>\n      <td>0.090706</td>\n      <td>0.003600</td>\n      <td>1.350000</td>\n      <td>1989.000000</td>\n    </tr>\n    <tr>\n      <th>25%</th>\n      <td>1.000000</td>\n      <td>5.442540</td>\n      <td>0.229000</td>\n      <td>32.560000</td>\n      <td>2007.000000</td>\n    </tr>\n    <tr>\n      <th>50%</th>\n      <td>1.000000</td>\n      <td>39.979500</td>\n      <td>1.260000</td>\n      <td>55.250000</td>\n      <td>2010.000000</td>\n    </tr>\n    <tr>\n      <th>75%</th>\n      <td>2.000000</td>\n      <td>526.005000</td>\n      <td>3.040000</td>\n      <td>178.500000</td>\n      <td>2012.000000</td>\n    </tr>\n    <tr>\n      <th>max</th>\n      <td>7.000000</td>\n      <td>730000.000000</td>\n      <td>25.000000</td>\n      <td>8500.000000</td>\n      <td>2014.000000</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 133
    }
   ],
   "source": [
    "planets.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 134,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "          number  orbital_period        mass    distance         year\ncount  498.00000      498.000000  498.000000  498.000000   498.000000\nmean     1.73494      835.778671    2.509320   52.068213  2007.377510\nstd      1.17572     1469.128259    3.636274   46.596041     4.167284\nmin      1.00000        1.328300    0.003600    1.350000  1989.000000\n25%      1.00000       38.272250    0.212500   24.497500  2005.000000\n50%      1.00000      357.000000    1.245000   39.940000  2009.000000\n75%      2.00000      999.600000    2.867500   59.332500  2011.000000\nmax      6.00000    17337.500000   25.000000  354.000000  2014.000000",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>number</th>\n      <th>orbital_period</th>\n      <th>mass</th>\n      <th>distance</th>\n      <th>year</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>count</th>\n      <td>498.00000</td>\n      <td>498.000000</td>\n      <td>498.000000</td>\n      <td>498.000000</td>\n      <td>498.000000</td>\n    </tr>\n    <tr>\n      <th>mean</th>\n      <td>1.73494</td>\n      <td>835.778671</td>\n      <td>2.509320</td>\n      <td>52.068213</td>\n      <td>2007.377510</td>\n    </tr>\n    <tr>\n      <th>std</th>\n      <td>1.17572</td>\n      <td>1469.128259</td>\n      <td>3.636274</td>\n      <td>46.596041</td>\n      <td>4.167284</td>\n    </tr>\n    <tr>\n      <th>min</th>\n      <td>1.00000</td>\n      <td>1.328300</td>\n      <td>0.003600</td>\n      <td>1.350000</td>\n      <td>1989.000000</td>\n    </tr>\n    <tr>\n      <th>25%</th>\n      <td>1.00000</td>\n      <td>38.272250</td>\n      <td>0.212500</td>\n      <td>24.497500</td>\n      <td>2005.000000</td>\n    </tr>\n    <tr>\n      <th>50%</th>\n      <td>1.00000</td>\n      <td>357.000000</td>\n      <td>1.245000</td>\n      <td>39.940000</td>\n      <td>2009.000000</td>\n    </tr>\n    <tr>\n      <th>75%</th>\n      <td>2.00000</td>\n      <td>999.600000</td>\n      <td>2.867500</td>\n      <td>59.332500</td>\n      <td>2011.000000</td>\n    </tr>\n    <tr>\n      <th>max</th>\n      <td>6.00000</td>\n      <td>17337.500000</td>\n      <td>25.000000</td>\n      <td>354.000000</td>\n      <td>2014.000000</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 134
    }
   ],
   "source": [
    "planets.dropna().describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 135,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "<pandas.core.groupby.generic.DataFrameGroupBy object at 0x7ff68f8fc310>"
     },
     "metadata": {},
     "execution_count": 135
    }
   ],
   "source": [
    "planets.groupby('method')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 136,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "                                 number  orbital_period      mass  \\\nmethod                                                              \nAstrometry                     1.000000      631.180000       NaN   \nEclipse Timing Variations      1.666667     4751.644444  5.125000   \nImaging                        1.315789   118247.737500       NaN   \nMicrolensing                   1.173913     3153.571429       NaN   \nOrbital Brightness Modulation  1.666667        0.709307       NaN   \nPulsar Timing                  2.200000     7343.021201       NaN   \nPulsation Timing Variations    1.000000     1170.000000       NaN   \nRadial Velocity                1.721519      823.354680  2.630699   \nTransit                        1.954660       21.102073  1.470000   \nTransit Timing Variations      2.250000       79.783500       NaN   \n\n                                  distance         year  \nmethod                                                   \nAstrometry                       17.875000  2011.500000  \nEclipse Timing Variations       315.360000  2010.000000  \nImaging                          67.715937  2009.131579  \nMicrolensing                   4144.000000  2009.782609  \nOrbital Brightness Modulation  1180.000000  2011.666667  \nPulsar Timing                  1200.000000  1998.400000  \nPulsation Timing Variations            NaN  2007.000000  \nRadial Velocity                  51.600208  2007.518987  \nTransit                         599.298080  2011.236776  \nTransit Timing Variations      1104.333333  2012.500000  ",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>number</th>\n      <th>orbital_period</th>\n      <th>mass</th>\n      <th>distance</th>\n      <th>year</th>\n    </tr>\n    <tr>\n      <th>method</th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>Astrometry</th>\n      <td>1.000000</td>\n      <td>631.180000</td>\n      <td>NaN</td>\n      <td>17.875000</td>\n      <td>2011.500000</td>\n    </tr>\n    <tr>\n      <th>Eclipse Timing Variations</th>\n      <td>1.666667</td>\n      <td>4751.644444</td>\n      <td>5.125000</td>\n      <td>315.360000</td>\n      <td>2010.000000</td>\n    </tr>\n    <tr>\n      <th>Imaging</th>\n      <td>1.315789</td>\n      <td>118247.737500</td>\n      <td>NaN</td>\n      <td>67.715937</td>\n      <td>2009.131579</td>\n    </tr>\n    <tr>\n      <th>Microlensing</th>\n      <td>1.173913</td>\n      <td>3153.571429</td>\n      <td>NaN</td>\n      <td>4144.000000</td>\n      <td>2009.782609</td>\n    </tr>\n    <tr>\n      <th>Orbital Brightness Modulation</th>\n      <td>1.666667</td>\n      <td>0.709307</td>\n      <td>NaN</td>\n      <td>1180.000000</td>\n      <td>2011.666667</td>\n    </tr>\n    <tr>\n      <th>Pulsar Timing</th>\n      <td>2.200000</td>\n      <td>7343.021201</td>\n      <td>NaN</td>\n      <td>1200.000000</td>\n      <td>1998.400000</td>\n    </tr>\n    <tr>\n      <th>Pulsation Timing Variations</th>\n      <td>1.000000</td>\n      <td>1170.000000</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>2007.000000</td>\n    </tr>\n    <tr>\n      <th>Radial Velocity</th>\n      <td>1.721519</td>\n      <td>823.354680</td>\n      <td>2.630699</td>\n      <td>51.600208</td>\n      <td>2007.518987</td>\n    </tr>\n    <tr>\n      <th>Transit</th>\n      <td>1.954660</td>\n      <td>21.102073</td>\n      <td>1.470000</td>\n      <td>599.298080</td>\n      <td>2011.236776</td>\n    </tr>\n    <tr>\n      <th>Transit Timing Variations</th>\n      <td>2.250000</td>\n      <td>79.783500</td>\n      <td>NaN</td>\n      <td>1104.333333</td>\n      <td>2012.500000</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 136
    }
   ],
   "source": [
    "planets.groupby('method').mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 137,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "method\nAstrometry                         631.180000\nEclipse Timing Variations         4343.500000\nImaging                          27500.000000\nMicrolensing                      3300.000000\nOrbital Brightness Modulation        0.342887\nPulsar Timing                       66.541900\nPulsation Timing Variations       1170.000000\nRadial Velocity                    360.200000\nTransit                              5.714932\nTransit Timing Variations           57.011000\nName: orbital_period, dtype: float64"
     },
     "metadata": {},
     "execution_count": 137
    }
   ],
   "source": [
    "planets.groupby('method')['orbital_period'].median() # 按列取值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 138,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "[['Astrometry', (2, 6)],\n ['Eclipse Timing Variations', (9, 6)],\n ['Imaging', (38, 6)],\n ['Microlensing', (23, 6)],\n ['Orbital Brightness Modulation', (3, 6)],\n ['Pulsar Timing', (5, 6)],\n ['Pulsation Timing Variations', (1, 6)],\n ['Radial Velocity', (553, 6)],\n ['Transit', (397, 6)],\n ['Transit Timing Variations', (4, 6)]]"
     },
     "metadata": {},
     "execution_count": 138
    }
   ],
   "source": [
    "# [x for x in planets.groupby('method')]\n",
    "[[abc, xyz.shape] for (abc, xyz) in planets.groupby('method')] # 按组迭代"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 139,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "                              number            orbital_period                \\\n                                 min median max            min        median   \nmethod                                                                         \nAstrometry                         1      1   1     246.360000    631.180000   \nEclipse Timing Variations          1      2   2    1916.250000   4343.500000   \nImaging                            1      1   4    4639.150000  27500.000000   \nMicrolensing                       1      1   2    1825.000000   3300.000000   \nOrbital Brightness Modulation      1      2   2       0.240104      0.342887   \nPulsar Timing                      1      3   3       0.090706     66.541900   \nPulsation Timing Variations        1      1   1    1170.000000   1170.000000   \nRadial Velocity                    1      1   6       0.736540    360.200000   \nTransit                            1      1   7       0.355000      5.714932   \nTransit Timing Variations          2      2   3      22.339500     57.011000   \n\n                                                mass               distance  \\\n                                         max     min median    max      min   \nmethod                                                                        \nAstrometry                       1016.000000     NaN    NaN    NaN    14.98   \nEclipse Timing Variations       10220.000000  4.2000  5.125   6.05   130.72   \nImaging                        730000.000000     NaN    NaN    NaN     7.69   \nMicrolensing                     5100.000000     NaN    NaN    NaN  1760.00   \nOrbital Brightness Modulation       1.544929     NaN    NaN    NaN  1180.00   \nPulsar Timing                   36525.000000     NaN    NaN    NaN  1200.00   \nPulsation Timing Variations      1170.000000     NaN    NaN    NaN      NaN   \nRadial Velocity                 17337.500000  0.0036  1.260  25.00     1.35   \nTransit                           331.600590  1.4700  1.470   1.47    38.00   \nTransit Timing Variations         160.000000     NaN    NaN    NaN   339.00   \n\n                                                  year                \n                                 median      max   min  median   max  \nmethod                                                                \nAstrometry                       17.875    20.77  2010  2011.5  2013  \nEclipse Timing Variations       315.360   500.00  2008  2010.0  2012  \nImaging                          40.395   165.00  2004  2009.0  2013  \nMicrolensing                   3840.000  7720.00  2004  2010.0  2013  \nOrbital Brightness Modulation  1180.000  1180.00  2011  2011.0  2013  \nPulsar Timing                  1200.000  1200.00  1992  1994.0  2011  \nPulsation Timing Variations         NaN      NaN  2007  2007.0  2007  \nRadial Velocity                  40.445   354.00  1989  2009.0  2014  \nTransit                         341.000  8500.00  2002  2012.0  2014  \nTransit Timing Variations       855.000  2119.00  2011  2012.5  2014  ",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead tr th {\n        text-align: left;\n    }\n\n    .dataframe thead tr:last-of-type th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr>\n      <th></th>\n      <th colspan=\"3\" halign=\"left\">number</th>\n      <th colspan=\"3\" halign=\"left\">orbital_period</th>\n      <th colspan=\"3\" halign=\"left\">mass</th>\n      <th colspan=\"3\" halign=\"left\">distance</th>\n      <th colspan=\"3\" halign=\"left\">year</th>\n    </tr>\n    <tr>\n      <th></th>\n      <th>min</th>\n      <th>median</th>\n      <th>max</th>\n      <th>min</th>\n      <th>median</th>\n      <th>max</th>\n      <th>min</th>\n      <th>median</th>\n      <th>max</th>\n      <th>min</th>\n      <th>median</th>\n      <th>max</th>\n      <th>min</th>\n      <th>median</th>\n      <th>max</th>\n    </tr>\n    <tr>\n      <th>method</th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>Astrometry</th>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>246.360000</td>\n      <td>631.180000</td>\n      <td>1016.000000</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>14.98</td>\n      <td>17.875</td>\n      <td>20.77</td>\n      <td>2010</td>\n      <td>2011.5</td>\n      <td>2013</td>\n    </tr>\n    <tr>\n      <th>Eclipse Timing Variations</th>\n      <td>1</td>\n      <td>2</td>\n      <td>2</td>\n      <td>1916.250000</td>\n      <td>4343.500000</td>\n      <td>10220.000000</td>\n      <td>4.2000</td>\n      <td>5.125</td>\n      <td>6.05</td>\n      <td>130.72</td>\n      <td>315.360</td>\n      <td>500.00</td>\n      <td>2008</td>\n      <td>2010.0</td>\n      <td>2012</td>\n    </tr>\n    <tr>\n      <th>Imaging</th>\n      <td>1</td>\n      <td>1</td>\n      <td>4</td>\n      <td>4639.150000</td>\n      <td>27500.000000</td>\n      <td>730000.000000</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>7.69</td>\n      <td>40.395</td>\n      <td>165.00</td>\n      <td>2004</td>\n      <td>2009.0</td>\n      <td>2013</td>\n    </tr>\n    <tr>\n      <th>Microlensing</th>\n      <td>1</td>\n      <td>1</td>\n      <td>2</td>\n      <td>1825.000000</td>\n      <td>3300.000000</td>\n      <td>5100.000000</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>1760.00</td>\n      <td>3840.000</td>\n      <td>7720.00</td>\n      <td>2004</td>\n      <td>2010.0</td>\n      <td>2013</td>\n    </tr>\n    <tr>\n      <th>Orbital Brightness Modulation</th>\n      <td>1</td>\n      <td>2</td>\n      <td>2</td>\n      <td>0.240104</td>\n      <td>0.342887</td>\n      <td>1.544929</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>1180.00</td>\n      <td>1180.000</td>\n      <td>1180.00</td>\n      <td>2011</td>\n      <td>2011.0</td>\n      <td>2013</td>\n    </tr>\n    <tr>\n      <th>Pulsar Timing</th>\n      <td>1</td>\n      <td>3</td>\n      <td>3</td>\n      <td>0.090706</td>\n      <td>66.541900</td>\n      <td>36525.000000</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>1200.00</td>\n      <td>1200.000</td>\n      <td>1200.00</td>\n      <td>1992</td>\n      <td>1994.0</td>\n      <td>2011</td>\n    </tr>\n    <tr>\n      <th>Pulsation Timing Variations</th>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1170.000000</td>\n      <td>1170.000000</td>\n      <td>1170.000000</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>2007</td>\n      <td>2007.0</td>\n      <td>2007</td>\n    </tr>\n    <tr>\n      <th>Radial Velocity</th>\n      <td>1</td>\n      <td>1</td>\n      <td>6</td>\n      <td>0.736540</td>\n      <td>360.200000</td>\n      <td>17337.500000</td>\n      <td>0.0036</td>\n      <td>1.260</td>\n      <td>25.00</td>\n      <td>1.35</td>\n      <td>40.445</td>\n      <td>354.00</td>\n      <td>1989</td>\n      <td>2009.0</td>\n      <td>2014</td>\n    </tr>\n    <tr>\n      <th>Transit</th>\n      <td>1</td>\n      <td>1</td>\n      <td>7</td>\n      <td>0.355000</td>\n      <td>5.714932</td>\n      <td>331.600590</td>\n      <td>1.4700</td>\n      <td>1.470</td>\n      <td>1.47</td>\n      <td>38.00</td>\n      <td>341.000</td>\n      <td>8500.00</td>\n      <td>2002</td>\n      <td>2012.0</td>\n      <td>2014</td>\n    </tr>\n    <tr>\n      <th>Transit Timing Variations</th>\n      <td>2</td>\n      <td>2</td>\n      <td>3</td>\n      <td>22.339500</td>\n      <td>57.011000</td>\n      <td>160.000000</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>339.00</td>\n      <td>855.000</td>\n      <td>2119.00</td>\n      <td>2011</td>\n      <td>2012.5</td>\n      <td>2014</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 139
    }
   ],
   "source": [
    "planets.groupby('method').aggregate(['min', np.median, max]) # 累计"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 140,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "                               number    year\nmethod                                       \nAstrometry                          1  2011.5\nEclipse Timing Variations           2  2010.0\nImaging                             4  2009.0\nMicrolensing                        2  2010.0\nOrbital Brightness Modulation       2  2011.0\nPulsar Timing                       3  1994.0\nPulsation Timing Variations         1  2007.0\nRadial Velocity                     6  2009.0\nTransit                             7  2012.0\nTransit Timing Variations           3  2012.5",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>number</th>\n      <th>year</th>\n    </tr>\n    <tr>\n      <th>method</th>\n      <th></th>\n      <th></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>Astrometry</th>\n      <td>1</td>\n      <td>2011.5</td>\n    </tr>\n    <tr>\n      <th>Eclipse Timing Variations</th>\n      <td>2</td>\n      <td>2010.0</td>\n    </tr>\n    <tr>\n      <th>Imaging</th>\n      <td>4</td>\n      <td>2009.0</td>\n    </tr>\n    <tr>\n      <th>Microlensing</th>\n      <td>2</td>\n      <td>2010.0</td>\n    </tr>\n    <tr>\n      <th>Orbital Brightness Modulation</th>\n      <td>2</td>\n      <td>2011.0</td>\n    </tr>\n    <tr>\n      <th>Pulsar Timing</th>\n      <td>3</td>\n      <td>1994.0</td>\n    </tr>\n    <tr>\n      <th>Pulsation Timing Variations</th>\n      <td>1</td>\n      <td>2007.0</td>\n    </tr>\n    <tr>\n      <th>Radial Velocity</th>\n      <td>6</td>\n      <td>2009.0</td>\n    </tr>\n    <tr>\n      <th>Transit</th>\n      <td>7</td>\n      <td>2012.0</td>\n    </tr>\n    <tr>\n      <th>Transit Timing Variations</th>\n      <td>3</td>\n      <td>2012.5</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 140
    }
   ],
   "source": [
    "planets.groupby('method').aggregate({'number':'max', 'year':np.median})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 141,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "            method  number  orbital_period   mass  distance  year\n0  Radial Velocity       1         269.300   7.10     77.40  2006\n1  Radial Velocity       1         874.774   2.21     56.95  2008\n2  Radial Velocity       1         763.000   2.60     19.84  2011\n3  Radial Velocity       1         326.030  19.40    110.62  2007\n4  Radial Velocity       1         516.220  10.50    119.47  2009",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>method</th>\n      <th>number</th>\n      <th>orbital_period</th>\n      <th>mass</th>\n      <th>distance</th>\n      <th>year</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>Radial Velocity</td>\n      <td>1</td>\n      <td>269.300</td>\n      <td>7.10</td>\n      <td>77.40</td>\n      <td>2006</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>Radial Velocity</td>\n      <td>1</td>\n      <td>874.774</td>\n      <td>2.21</td>\n      <td>56.95</td>\n      <td>2008</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>Radial Velocity</td>\n      <td>1</td>\n      <td>763.000</td>\n      <td>2.60</td>\n      <td>19.84</td>\n      <td>2011</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>Radial Velocity</td>\n      <td>1</td>\n      <td>326.030</td>\n      <td>19.40</td>\n      <td>110.62</td>\n      <td>2007</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>Radial Velocity</td>\n      <td>1</td>\n      <td>516.220</td>\n      <td>10.50</td>\n      <td>119.47</td>\n      <td>2009</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 141
    }
   ],
   "source": [
    "planets.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 142,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "              method  number  orbital_period   mass  distance  year\n0    Radial Velocity       1        269.3000   7.10     77.40  2006\n1    Radial Velocity       1        874.7740   2.21     56.95  2008\n2    Radial Velocity       1        763.0000   2.60     19.84  2011\n3    Radial Velocity       1        326.0300  19.40    110.62  2007\n4    Radial Velocity       1        516.2200  10.50    119.47  2009\n..               ...     ...             ...    ...       ...   ...\n914  Radial Velocity       1          6.9580   0.34       NaN  2014\n915  Radial Velocity       1          5.1180   0.40       NaN  2014\n916  Radial Velocity       1        121.7100   1.54       NaN  2014\n939  Radial Velocity       1          4.4264    NaN       NaN  2012\n940  Radial Velocity       1          2.1451    NaN       NaN  2012\n\n[553 rows x 6 columns]",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>method</th>\n      <th>number</th>\n      <th>orbital_period</th>\n      <th>mass</th>\n      <th>distance</th>\n      <th>year</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>Radial Velocity</td>\n      <td>1</td>\n      <td>269.3000</td>\n      <td>7.10</td>\n      <td>77.40</td>\n      <td>2006</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>Radial Velocity</td>\n      <td>1</td>\n      <td>874.7740</td>\n      <td>2.21</td>\n      <td>56.95</td>\n      <td>2008</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>Radial Velocity</td>\n      <td>1</td>\n      <td>763.0000</td>\n      <td>2.60</td>\n      <td>19.84</td>\n      <td>2011</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>Radial Velocity</td>\n      <td>1</td>\n      <td>326.0300</td>\n      <td>19.40</td>\n      <td>110.62</td>\n      <td>2007</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>Radial Velocity</td>\n      <td>1</td>\n      <td>516.2200</td>\n      <td>10.50</td>\n      <td>119.47</td>\n      <td>2009</td>\n    </tr>\n    <tr>\n      <th>...</th>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n    </tr>\n    <tr>\n      <th>914</th>\n      <td>Radial Velocity</td>\n      <td>1</td>\n      <td>6.9580</td>\n      <td>0.34</td>\n      <td>NaN</td>\n      <td>2014</td>\n    </tr>\n    <tr>\n      <th>915</th>\n      <td>Radial Velocity</td>\n      <td>1</td>\n      <td>5.1180</td>\n      <td>0.40</td>\n      <td>NaN</td>\n      <td>2014</td>\n    </tr>\n    <tr>\n      <th>916</th>\n      <td>Radial Velocity</td>\n      <td>1</td>\n      <td>121.7100</td>\n      <td>1.54</td>\n      <td>NaN</td>\n      <td>2014</td>\n    </tr>\n    <tr>\n      <th>939</th>\n      <td>Radial Velocity</td>\n      <td>1</td>\n      <td>4.4264</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>2012</td>\n    </tr>\n    <tr>\n      <th>940</th>\n      <td>Radial Velocity</td>\n      <td>1</td>\n      <td>2.1451</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>2012</td>\n    </tr>\n  </tbody>\n</table>\n<p>553 rows × 6 columns</p>\n</div>"
     },
     "metadata": {},
     "execution_count": 142
    }
   ],
   "source": [
    "def big_std(x):\n",
    "    return x['mass'].std() > 3\n",
    "planets.groupby('method').filter(big_std)\n",
    "# planets.groupby('method').filter(lambda x:x['mass'].std()>3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 143,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "        number  orbital_period       mass    distance      year\n0    -0.721519     -554.054680   4.469301   25.799792 -1.518987\n1    -0.721519       51.419320  -0.420699    5.349792  0.481013\n2    -0.721519      -60.354680  -0.030699  -31.760208  3.481013\n3    -0.721519     -497.324680  16.769301   59.019792 -0.518987\n4    -0.721519     -307.134680   7.869301   67.869792  1.481013\n...        ...             ...        ...         ...       ...\n1030 -0.954660      -17.160566        NaN -427.298080 -5.236776\n1031 -0.954660      -18.486209        NaN -451.298080 -4.236776\n1032 -0.954660      -17.910549        NaN -425.298080 -4.236776\n1033 -0.954660      -16.976990        NaN -306.298080 -3.236776\n1034 -0.954660      -16.914316        NaN -339.298080 -3.236776\n\n[1035 rows x 5 columns]",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>number</th>\n      <th>orbital_period</th>\n      <th>mass</th>\n      <th>distance</th>\n      <th>year</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>-0.721519</td>\n      <td>-554.054680</td>\n      <td>4.469301</td>\n      <td>25.799792</td>\n      <td>-1.518987</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>-0.721519</td>\n      <td>51.419320</td>\n      <td>-0.420699</td>\n      <td>5.349792</td>\n      <td>0.481013</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>-0.721519</td>\n      <td>-60.354680</td>\n      <td>-0.030699</td>\n      <td>-31.760208</td>\n      <td>3.481013</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>-0.721519</td>\n      <td>-497.324680</td>\n      <td>16.769301</td>\n      <td>59.019792</td>\n      <td>-0.518987</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>-0.721519</td>\n      <td>-307.134680</td>\n      <td>7.869301</td>\n      <td>67.869792</td>\n      <td>1.481013</td>\n    </tr>\n    <tr>\n      <th>...</th>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n    </tr>\n    <tr>\n      <th>1030</th>\n      <td>-0.954660</td>\n      <td>-17.160566</td>\n      <td>NaN</td>\n      <td>-427.298080</td>\n      <td>-5.236776</td>\n    </tr>\n    <tr>\n      <th>1031</th>\n      <td>-0.954660</td>\n      <td>-18.486209</td>\n      <td>NaN</td>\n      <td>-451.298080</td>\n      <td>-4.236776</td>\n    </tr>\n    <tr>\n      <th>1032</th>\n      <td>-0.954660</td>\n      <td>-17.910549</td>\n      <td>NaN</td>\n      <td>-425.298080</td>\n      <td>-4.236776</td>\n    </tr>\n    <tr>\n      <th>1033</th>\n      <td>-0.954660</td>\n      <td>-16.976990</td>\n      <td>NaN</td>\n      <td>-306.298080</td>\n      <td>-3.236776</td>\n    </tr>\n    <tr>\n      <th>1034</th>\n      <td>-0.954660</td>\n      <td>-16.914316</td>\n      <td>NaN</td>\n      <td>-339.298080</td>\n      <td>-3.236776</td>\n    </tr>\n  </tbody>\n</table>\n<p>1035 rows × 5 columns</p>\n</div>"
     },
     "metadata": {},
     "execution_count": 143
    }
   ],
   "source": [
    "planets.groupby('method').transform(lambda x: x - x.mean())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 144,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "               method  number  orbital_period   mass  distance  year  \\\n0     Radial Velocity       1      269.300000   7.10     77.40  2006   \n1     Radial Velocity       1      874.774000   2.21     56.95  2008   \n2     Radial Velocity       1      763.000000   2.60     19.84  2011   \n3     Radial Velocity       1      326.030000  19.40    110.62  2007   \n4     Radial Velocity       1      516.220000  10.50    119.47  2009   \n...               ...     ...             ...    ...       ...   ...   \n1030          Transit       1        3.941507    NaN    172.00  2006   \n1031          Transit       1        2.615864    NaN    148.00  2007   \n1032          Transit       1        3.191524    NaN    174.00  2007   \n1033          Transit       1        4.125083    NaN    293.00  2008   \n1034          Transit       1        4.187757    NaN    260.00  2008   \n\n             owm  \n0      37.929577  \n1     395.825339  \n2     293.461538  \n3      16.805670  \n4      49.163810  \n...          ...  \n1030         NaN  \n1031         NaN  \n1032         NaN  \n1033         NaN  \n1034         NaN  \n\n[1035 rows x 7 columns]",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>method</th>\n      <th>number</th>\n      <th>orbital_period</th>\n      <th>mass</th>\n      <th>distance</th>\n      <th>year</th>\n      <th>owm</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>Radial Velocity</td>\n      <td>1</td>\n      <td>269.300000</td>\n      <td>7.10</td>\n      <td>77.40</td>\n      <td>2006</td>\n      <td>37.929577</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>Radial Velocity</td>\n      <td>1</td>\n      <td>874.774000</td>\n      <td>2.21</td>\n      <td>56.95</td>\n      <td>2008</td>\n      <td>395.825339</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>Radial Velocity</td>\n      <td>1</td>\n      <td>763.000000</td>\n      <td>2.60</td>\n      <td>19.84</td>\n      <td>2011</td>\n      <td>293.461538</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>Radial Velocity</td>\n      <td>1</td>\n      <td>326.030000</td>\n      <td>19.40</td>\n      <td>110.62</td>\n      <td>2007</td>\n      <td>16.805670</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>Radial Velocity</td>\n      <td>1</td>\n      <td>516.220000</td>\n      <td>10.50</td>\n      <td>119.47</td>\n      <td>2009</td>\n      <td>49.163810</td>\n    </tr>\n    <tr>\n      <th>...</th>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n    </tr>\n    <tr>\n      <th>1030</th>\n      <td>Transit</td>\n      <td>1</td>\n      <td>3.941507</td>\n      <td>NaN</td>\n      <td>172.00</td>\n      <td>2006</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>1031</th>\n      <td>Transit</td>\n      <td>1</td>\n      <td>2.615864</td>\n      <td>NaN</td>\n      <td>148.00</td>\n      <td>2007</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>1032</th>\n      <td>Transit</td>\n      <td>1</td>\n      <td>3.191524</td>\n      <td>NaN</td>\n      <td>174.00</td>\n      <td>2007</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>1033</th>\n      <td>Transit</td>\n      <td>1</td>\n      <td>4.125083</td>\n      <td>NaN</td>\n      <td>293.00</td>\n      <td>2008</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>1034</th>\n      <td>Transit</td>\n      <td>1</td>\n      <td>4.187757</td>\n      <td>NaN</td>\n      <td>260.00</td>\n      <td>2008</td>\n      <td>NaN</td>\n    </tr>\n  </tbody>\n</table>\n<p>1035 rows × 7 columns</p>\n</div>"
     },
     "metadata": {},
     "execution_count": 144
    }
   ],
   "source": [
    "def orbital_with_mass(x):\n",
    "    x['owm'] = x['orbital_period'] / x['mass']\n",
    "    return x\n",
    "planets.groupby('method').apply(orbital_with_mass)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 145,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "      number  orbital_period       mass  distance\nyear                                             \n1989       1       83.888000   11.68000     40.57\n1992       6       91.803900    0.00000      0.00\n1994       3       98.211400    0.00000      0.00\n1995       1        4.230785    0.47200     15.36\n1996      15     2015.769933    7.91760     95.20\n1997       1       39.845000    1.04000     17.43\n1998      11      571.553306   13.43560    131.51\n1999      24     8284.213789   45.31300    464.21\n2000      27     8655.125170   50.86220    492.04\n2001      15     8823.652700   37.74000    438.38\n2002      46    31098.693942  122.05600   1376.28\n2003      35    54550.912880   80.54100   1034.05\n2004      41    11836.848236   21.81400   4249.89\n2005      64    28195.315999   68.13250   1719.92\n2006      43   749338.718705   35.99600  18486.41\n2007      65    18915.474897  118.46700   7319.52\n2008     120   648234.382394  147.24658   6315.54\n2009     131   129256.581285  268.51400   6810.71\n2010     193    64276.094943   52.87400  23882.06\n2011     354   130082.081196  110.02660  49447.33\n2012     258    62840.010462   87.80630  51259.04\n2013     277    14256.811931   66.10200  37613.51\n2014     117    15344.034471    5.34000   2159.02",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>number</th>\n      <th>orbital_period</th>\n      <th>mass</th>\n      <th>distance</th>\n    </tr>\n    <tr>\n      <th>year</th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>1989</th>\n      <td>1</td>\n      <td>83.888000</td>\n      <td>11.68000</td>\n      <td>40.57</td>\n    </tr>\n    <tr>\n      <th>1992</th>\n      <td>6</td>\n      <td>91.803900</td>\n      <td>0.00000</td>\n      <td>0.00</td>\n    </tr>\n    <tr>\n      <th>1994</th>\n      <td>3</td>\n      <td>98.211400</td>\n      <td>0.00000</td>\n      <td>0.00</td>\n    </tr>\n    <tr>\n      <th>1995</th>\n      <td>1</td>\n      <td>4.230785</td>\n      <td>0.47200</td>\n      <td>15.36</td>\n    </tr>\n    <tr>\n      <th>1996</th>\n      <td>15</td>\n      <td>2015.769933</td>\n      <td>7.91760</td>\n      <td>95.20</td>\n    </tr>\n    <tr>\n      <th>1997</th>\n      <td>1</td>\n      <td>39.845000</td>\n      <td>1.04000</td>\n      <td>17.43</td>\n    </tr>\n    <tr>\n      <th>1998</th>\n      <td>11</td>\n      <td>571.553306</td>\n      <td>13.43560</td>\n      <td>131.51</td>\n    </tr>\n    <tr>\n      <th>1999</th>\n      <td>24</td>\n      <td>8284.213789</td>\n      <td>45.31300</td>\n      <td>464.21</td>\n    </tr>\n    <tr>\n      <th>2000</th>\n      <td>27</td>\n      <td>8655.125170</td>\n      <td>50.86220</td>\n      <td>492.04</td>\n    </tr>\n    <tr>\n      <th>2001</th>\n      <td>15</td>\n      <td>8823.652700</td>\n      <td>37.74000</td>\n      <td>438.38</td>\n    </tr>\n    <tr>\n      <th>2002</th>\n      <td>46</td>\n      <td>31098.693942</td>\n      <td>122.05600</td>\n      <td>1376.28</td>\n    </tr>\n    <tr>\n      <th>2003</th>\n      <td>35</td>\n      <td>54550.912880</td>\n      <td>80.54100</td>\n      <td>1034.05</td>\n    </tr>\n    <tr>\n      <th>2004</th>\n      <td>41</td>\n      <td>11836.848236</td>\n      <td>21.81400</td>\n      <td>4249.89</td>\n    </tr>\n    <tr>\n      <th>2005</th>\n      <td>64</td>\n      <td>28195.315999</td>\n      <td>68.13250</td>\n      <td>1719.92</td>\n    </tr>\n    <tr>\n      <th>2006</th>\n      <td>43</td>\n      <td>749338.718705</td>\n      <td>35.99600</td>\n      <td>18486.41</td>\n    </tr>\n    <tr>\n      <th>2007</th>\n      <td>65</td>\n      <td>18915.474897</td>\n      <td>118.46700</td>\n      <td>7319.52</td>\n    </tr>\n    <tr>\n      <th>2008</th>\n      <td>120</td>\n      <td>648234.382394</td>\n      <td>147.24658</td>\n      <td>6315.54</td>\n    </tr>\n    <tr>\n      <th>2009</th>\n      <td>131</td>\n      <td>129256.581285</td>\n      <td>268.51400</td>\n      <td>6810.71</td>\n    </tr>\n    <tr>\n      <th>2010</th>\n      <td>193</td>\n      <td>64276.094943</td>\n      <td>52.87400</td>\n      <td>23882.06</td>\n    </tr>\n    <tr>\n      <th>2011</th>\n      <td>354</td>\n      <td>130082.081196</td>\n      <td>110.02660</td>\n      <td>49447.33</td>\n    </tr>\n    <tr>\n      <th>2012</th>\n      <td>258</td>\n      <td>62840.010462</td>\n      <td>87.80630</td>\n      <td>51259.04</td>\n    </tr>\n    <tr>\n      <th>2013</th>\n      <td>277</td>\n      <td>14256.811931</td>\n      <td>66.10200</td>\n      <td>37613.51</td>\n    </tr>\n    <tr>\n      <th>2014</th>\n      <td>117</td>\n      <td>15344.034471</td>\n      <td>5.34000</td>\n      <td>2159.02</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 145
    }
   ],
   "source": [
    "planets.groupby('year').sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 146,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "decade                         1980s  1990s  2000s  2010s\nmethod                                                   \nAstrometry                       0.0    0.0    0.0    2.0\nEclipse Timing Variations        0.0    0.0    5.0   10.0\nImaging                          0.0    0.0   29.0   21.0\nMicrolensing                     0.0    0.0   12.0   15.0\nOrbital Brightness Modulation    0.0    0.0    0.0    5.0\nPulsar Timing                    0.0    9.0    1.0    1.0\nPulsation Timing Variations      0.0    0.0    1.0    0.0\nRadial Velocity                  1.0   52.0  475.0  424.0\nTransit                          0.0    0.0   64.0  712.0\nTransit Timing Variations        0.0    0.0    0.0    9.0",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th>decade</th>\n      <th>1980s</th>\n      <th>1990s</th>\n      <th>2000s</th>\n      <th>2010s</th>\n    </tr>\n    <tr>\n      <th>method</th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>Astrometry</th>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>2.0</td>\n    </tr>\n    <tr>\n      <th>Eclipse Timing Variations</th>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>5.0</td>\n      <td>10.0</td>\n    </tr>\n    <tr>\n      <th>Imaging</th>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>29.0</td>\n      <td>21.0</td>\n    </tr>\n    <tr>\n      <th>Microlensing</th>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>12.0</td>\n      <td>15.0</td>\n    </tr>\n    <tr>\n      <th>Orbital Brightness Modulation</th>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>5.0</td>\n    </tr>\n    <tr>\n      <th>Pulsar Timing</th>\n      <td>0.0</td>\n      <td>9.0</td>\n      <td>1.0</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>Pulsation Timing Variations</th>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>1.0</td>\n      <td>0.0</td>\n    </tr>\n    <tr>\n      <th>Radial Velocity</th>\n      <td>1.0</td>\n      <td>52.0</td>\n      <td>475.0</td>\n      <td>424.0</td>\n    </tr>\n    <tr>\n      <th>Transit</th>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>64.0</td>\n      <td>712.0</td>\n    </tr>\n    <tr>\n      <th>Transit Timing Variations</th>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>9.0</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 146
    }
   ],
   "source": [
    "decade = 10 * (planets['year'] // 10)\n",
    "decade = decade.astype(str) + 's'\n",
    "decade.name = 'decade'\n",
    "planets.groupby(['method',decade])['number'].sum().unstack().fillna(0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 数据透视表"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 147,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "   survived  pclass     sex   age  sibsp  parch     fare embarked  class  \\\n0         0       3    male  22.0      1      0   7.2500        S  Third   \n1         1       1  female  38.0      1      0  71.2833        C  First   \n2         1       3  female  26.0      0      0   7.9250        S  Third   \n3         1       1  female  35.0      1      0  53.1000        S  First   \n4         0       3    male  35.0      0      0   8.0500        S  Third   \n\n     who  adult_male deck  embark_town alive  alone  \n0    man        True  NaN  Southampton    no  False  \n1  woman       False    C    Cherbourg   yes  False  \n2  woman       False  NaN  Southampton   yes   True  \n3  woman       False    C  Southampton   yes  False  \n4    man        True  NaN  Southampton    no   True  ",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>survived</th>\n      <th>pclass</th>\n      <th>sex</th>\n      <th>age</th>\n      <th>sibsp</th>\n      <th>parch</th>\n      <th>fare</th>\n      <th>embarked</th>\n      <th>class</th>\n      <th>who</th>\n      <th>adult_male</th>\n      <th>deck</th>\n      <th>embark_town</th>\n      <th>alive</th>\n      <th>alone</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>0</td>\n      <td>3</td>\n      <td>male</td>\n      <td>22.0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>7.2500</td>\n      <td>S</td>\n      <td>Third</td>\n      <td>man</td>\n      <td>True</td>\n      <td>NaN</td>\n      <td>Southampton</td>\n      <td>no</td>\n      <td>False</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>1</td>\n      <td>1</td>\n      <td>female</td>\n      <td>38.0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>71.2833</td>\n      <td>C</td>\n      <td>First</td>\n      <td>woman</td>\n      <td>False</td>\n      <td>C</td>\n      <td>Cherbourg</td>\n      <td>yes</td>\n      <td>False</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>1</td>\n      <td>3</td>\n      <td>female</td>\n      <td>26.0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>7.9250</td>\n      <td>S</td>\n      <td>Third</td>\n      <td>woman</td>\n      <td>False</td>\n      <td>NaN</td>\n      <td>Southampton</td>\n      <td>yes</td>\n      <td>True</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>1</td>\n      <td>1</td>\n      <td>female</td>\n      <td>35.0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>53.1000</td>\n      <td>S</td>\n      <td>First</td>\n      <td>woman</td>\n      <td>False</td>\n      <td>C</td>\n      <td>Southampton</td>\n      <td>yes</td>\n      <td>False</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>0</td>\n      <td>3</td>\n      <td>male</td>\n      <td>35.0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>8.0500</td>\n      <td>S</td>\n      <td>Third</td>\n      <td>man</td>\n      <td>True</td>\n      <td>NaN</td>\n      <td>Southampton</td>\n      <td>no</td>\n      <td>True</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 147
    }
   ],
   "source": [
    "titanic = sns.load_dataset('titanic')\n",
    "titanic.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 148,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "         survived      pclass         age       sibsp       parch        fare\ncount  891.000000  891.000000  714.000000  891.000000  891.000000  891.000000\nmean     0.383838    2.308642   29.699118    0.523008    0.381594   32.204208\nstd      0.486592    0.836071   14.526497    1.102743    0.806057   49.693429\nmin      0.000000    1.000000    0.420000    0.000000    0.000000    0.000000\n25%      0.000000    2.000000   20.125000    0.000000    0.000000    7.910400\n50%      0.000000    3.000000   28.000000    0.000000    0.000000   14.454200\n75%      1.000000    3.000000   38.000000    1.000000    0.000000   31.000000\nmax      1.000000    3.000000   80.000000    8.000000    6.000000  512.329200",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>survived</th>\n      <th>pclass</th>\n      <th>age</th>\n      <th>sibsp</th>\n      <th>parch</th>\n      <th>fare</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>count</th>\n      <td>891.000000</td>\n      <td>891.000000</td>\n      <td>714.000000</td>\n      <td>891.000000</td>\n      <td>891.000000</td>\n      <td>891.000000</td>\n    </tr>\n    <tr>\n      <th>mean</th>\n      <td>0.383838</td>\n      <td>2.308642</td>\n      <td>29.699118</td>\n      <td>0.523008</td>\n      <td>0.381594</td>\n      <td>32.204208</td>\n    </tr>\n    <tr>\n      <th>std</th>\n      <td>0.486592</td>\n      <td>0.836071</td>\n      <td>14.526497</td>\n      <td>1.102743</td>\n      <td>0.806057</td>\n      <td>49.693429</td>\n    </tr>\n    <tr>\n      <th>min</th>\n      <td>0.000000</td>\n      <td>1.000000</td>\n      <td>0.420000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>25%</th>\n      <td>0.000000</td>\n      <td>2.000000</td>\n      <td>20.125000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>7.910400</td>\n    </tr>\n    <tr>\n      <th>50%</th>\n      <td>0.000000</td>\n      <td>3.000000</td>\n      <td>28.000000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>14.454200</td>\n    </tr>\n    <tr>\n      <th>75%</th>\n      <td>1.000000</td>\n      <td>3.000000</td>\n      <td>38.000000</td>\n      <td>1.000000</td>\n      <td>0.000000</td>\n      <td>31.000000</td>\n    </tr>\n    <tr>\n      <th>max</th>\n      <td>1.000000</td>\n      <td>3.000000</td>\n      <td>80.000000</td>\n      <td>8.000000</td>\n      <td>6.000000</td>\n      <td>512.329200</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 148
    }
   ],
   "source": [
    "titanic.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 149,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "sex\nfemale    0.742038\nmale      0.188908\nName: survived, dtype: float64"
     },
     "metadata": {},
     "execution_count": 149
    }
   ],
   "source": [
    "titanic.groupby('sex')['survived'].mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 150,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "               survived\nsex    class           \nfemale First   0.968085\n       Second  0.921053\n       Third   0.500000\nmale   First   0.368852\n       Second  0.157407\n       Third   0.135447",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th></th>\n      <th>survived</th>\n    </tr>\n    <tr>\n      <th>sex</th>\n      <th>class</th>\n      <th></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th rowspan=\"3\" valign=\"top\">female</th>\n      <th>First</th>\n      <td>0.968085</td>\n    </tr>\n    <tr>\n      <th>Second</th>\n      <td>0.921053</td>\n    </tr>\n    <tr>\n      <th>Third</th>\n      <td>0.500000</td>\n    </tr>\n    <tr>\n      <th rowspan=\"3\" valign=\"top\">male</th>\n      <th>First</th>\n      <td>0.368852</td>\n    </tr>\n    <tr>\n      <th>Second</th>\n      <td>0.157407</td>\n    </tr>\n    <tr>\n      <th>Third</th>\n      <td>0.135447</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 150
    }
   ],
   "source": [
    "titanic.groupby(['sex', 'class'])[['survived']].mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 151,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "class      First    Second     Third\nsex                                 \nfemale  0.968085  0.921053  0.500000\nmale    0.368852  0.157407  0.135447",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th>class</th>\n      <th>First</th>\n      <th>Second</th>\n      <th>Third</th>\n    </tr>\n    <tr>\n      <th>sex</th>\n      <th></th>\n      <th></th>\n      <th></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>female</th>\n      <td>0.968085</td>\n      <td>0.921053</td>\n      <td>0.500000</td>\n    </tr>\n    <tr>\n      <th>male</th>\n      <td>0.368852</td>\n      <td>0.157407</td>\n      <td>0.135447</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 151
    }
   ],
   "source": [
    "titanic.groupby(['sex', 'class'])['survived'].mean().unstack()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 152,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "class      First    Second     Third\nsex                                 \nfemale  0.968085  0.921053  0.500000\nmale    0.368852  0.157407  0.135447",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th>class</th>\n      <th>First</th>\n      <th>Second</th>\n      <th>Third</th>\n    </tr>\n    <tr>\n      <th>sex</th>\n      <th></th>\n      <th></th>\n      <th></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>female</th>\n      <td>0.968085</td>\n      <td>0.921053</td>\n      <td>0.500000</td>\n    </tr>\n    <tr>\n      <th>male</th>\n      <td>0.368852</td>\n      <td>0.157407</td>\n      <td>0.135447</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 152
    }
   ],
   "source": [
    "titanic.pivot_table('survived', 'sex', 'class')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 153,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "0      (0.34, 40.21]\n1      (0.34, 40.21]\n2      (0.34, 40.21]\n3      (0.34, 40.21]\n4      (0.34, 40.21]\n           ...      \n886    (0.34, 40.21]\n887    (0.34, 40.21]\n888              NaN\n889    (0.34, 40.21]\n890    (0.34, 40.21]\nName: age, Length: 891, dtype: category\nCategories (2, interval[float64]): [(0.34, 40.21] < (40.21, 80.0]]"
     },
     "metadata": {},
     "execution_count": 153
    }
   ],
   "source": [
    "age = pd.cut(titanic['age'],2)\n",
    "age"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 154,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "class                    First    Second     Third\nsex    age                                        \nfemale (0.34, 40.21]  0.966102  0.934426  0.494624\n       (40.21, 80.0]  0.961538  0.846154  0.111111\nmale   (0.34, 40.21]  0.509804  0.166667  0.162162\n       (40.21, 80.0]  0.280000  0.095238  0.064516",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>class</th>\n      <th>First</th>\n      <th>Second</th>\n      <th>Third</th>\n    </tr>\n    <tr>\n      <th>sex</th>\n      <th>age</th>\n      <th></th>\n      <th></th>\n      <th></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th rowspan=\"2\" valign=\"top\">female</th>\n      <th>(0.34, 40.21]</th>\n      <td>0.966102</td>\n      <td>0.934426</td>\n      <td>0.494624</td>\n    </tr>\n    <tr>\n      <th>(40.21, 80.0]</th>\n      <td>0.961538</td>\n      <td>0.846154</td>\n      <td>0.111111</td>\n    </tr>\n    <tr>\n      <th rowspan=\"2\" valign=\"top\">male</th>\n      <th>(0.34, 40.21]</th>\n      <td>0.509804</td>\n      <td>0.166667</td>\n      <td>0.162162</td>\n    </tr>\n    <tr>\n      <th>(40.21, 80.0]</th>\n      <td>0.280000</td>\n      <td>0.095238</td>\n      <td>0.064516</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 154
    }
   ],
   "source": [
    "titanic.pivot_table('survived', ['sex', age], 'class')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 155,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "0       (-0.001, 14.454]\n1      (14.454, 512.329]\n2       (-0.001, 14.454]\n3      (14.454, 512.329]\n4       (-0.001, 14.454]\n             ...        \n886     (-0.001, 14.454]\n887    (14.454, 512.329]\n888    (14.454, 512.329]\n889    (14.454, 512.329]\n890     (-0.001, 14.454]\nName: fare, Length: 891, dtype: category\nCategories (2, interval[float64]): [(-0.001, 14.454] < (14.454, 512.329]]"
     },
     "metadata": {},
     "execution_count": 155
    }
   ],
   "source": [
    "fare = pd.qcut(titanic['fare'],2)\n",
    "fare"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 156,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "fare                 (-0.001, 14.454]                     (14.454, 512.329]  \\\nclass                           First    Second     Third             First   \nsex    age                                                                    \nfemale (0.34, 40.21]              NaN  0.913043  0.555556          0.966102   \n       (40.21, 80.0]              NaN  0.800000  0.333333          0.961538   \nmale   (0.34, 40.21]              0.0  0.071429  0.152941          0.553191   \n       (40.21, 80.0]              NaN  0.153846  0.068966          0.280000   \n\nfare                                      \nclass                   Second     Third  \nsex    age                                \nfemale (0.34, 40.21]  0.947368  0.410256  \n       (40.21, 80.0]  0.875000  0.000000  \nmale   (0.34, 40.21]  0.277778  0.192308  \n       (40.21, 80.0]  0.000000  0.000000  ",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead tr th {\n        text-align: left;\n    }\n\n    .dataframe thead tr:last-of-type th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr>\n      <th></th>\n      <th>fare</th>\n      <th colspan=\"3\" halign=\"left\">(-0.001, 14.454]</th>\n      <th colspan=\"3\" halign=\"left\">(14.454, 512.329]</th>\n    </tr>\n    <tr>\n      <th></th>\n      <th>class</th>\n      <th>First</th>\n      <th>Second</th>\n      <th>Third</th>\n      <th>First</th>\n      <th>Second</th>\n      <th>Third</th>\n    </tr>\n    <tr>\n      <th>sex</th>\n      <th>age</th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th rowspan=\"2\" valign=\"top\">female</th>\n      <th>(0.34, 40.21]</th>\n      <td>NaN</td>\n      <td>0.913043</td>\n      <td>0.555556</td>\n      <td>0.966102</td>\n      <td>0.947368</td>\n      <td>0.410256</td>\n    </tr>\n    <tr>\n      <th>(40.21, 80.0]</th>\n      <td>NaN</td>\n      <td>0.800000</td>\n      <td>0.333333</td>\n      <td>0.961538</td>\n      <td>0.875000</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th rowspan=\"2\" valign=\"top\">male</th>\n      <th>(0.34, 40.21]</th>\n      <td>0.0</td>\n      <td>0.071429</td>\n      <td>0.152941</td>\n      <td>0.553191</td>\n      <td>0.277778</td>\n      <td>0.192308</td>\n    </tr>\n    <tr>\n      <th>(40.21, 80.0]</th>\n      <td>NaN</td>\n      <td>0.153846</td>\n      <td>0.068966</td>\n      <td>0.280000</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 156
    }
   ],
   "source": [
    "titanic.pivot_table('survived', ['sex', age], [fare, 'class'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 157,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "fare                 (-0.001, 14.454]              (14.454, 512.329]         \\\nclass                           First Second Third             First Second   \nsex    age                                                                    \nfemale (0.34, 40.21]                0     21    30                57     36   \n       (40.21, 80.0]                0      4     1                25      7   \nmale   (0.34, 40.21]                0      3    26                26     10   \n       (40.21, 80.0]                0      2     2                14      0   \n\nfare                        \nclass                Third  \nsex    age                  \nfemale (0.34, 40.21]    16  \n       (40.21, 80.0]     0  \nmale   (0.34, 40.21]    10  \n       (40.21, 80.0]     0  ",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead tr th {\n        text-align: left;\n    }\n\n    .dataframe thead tr:last-of-type th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr>\n      <th></th>\n      <th>fare</th>\n      <th colspan=\"3\" halign=\"left\">(-0.001, 14.454]</th>\n      <th colspan=\"3\" halign=\"left\">(14.454, 512.329]</th>\n    </tr>\n    <tr>\n      <th></th>\n      <th>class</th>\n      <th>First</th>\n      <th>Second</th>\n      <th>Third</th>\n      <th>First</th>\n      <th>Second</th>\n      <th>Third</th>\n    </tr>\n    <tr>\n      <th>sex</th>\n      <th>age</th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th rowspan=\"2\" valign=\"top\">female</th>\n      <th>(0.34, 40.21]</th>\n      <td>0</td>\n      <td>21</td>\n      <td>30</td>\n      <td>57</td>\n      <td>36</td>\n      <td>16</td>\n    </tr>\n    <tr>\n      <th>(40.21, 80.0]</th>\n      <td>0</td>\n      <td>4</td>\n      <td>1</td>\n      <td>25</td>\n      <td>7</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th rowspan=\"2\" valign=\"top\">male</th>\n      <th>(0.34, 40.21]</th>\n      <td>0</td>\n      <td>3</td>\n      <td>26</td>\n      <td>26</td>\n      <td>10</td>\n      <td>10</td>\n    </tr>\n    <tr>\n      <th>(40.21, 80.0]</th>\n      <td>0</td>\n      <td>2</td>\n      <td>2</td>\n      <td>14</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 157
    }
   ],
   "source": [
    "titanic.pivot_table('survived', ['sex', age], [fare, 'class'], fill_value=0, aggfunc='sum')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 158,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "              fare                       survived             \nclass        First     Second      Third    First Second Third\nsex                                                           \nfemale  106.125798  21.970121  16.118810       91     70    72\nmale     67.226127  19.741782  12.661633       45     17    47",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead tr th {\n        text-align: left;\n    }\n\n    .dataframe thead tr:last-of-type th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr>\n      <th></th>\n      <th colspan=\"3\" halign=\"left\">fare</th>\n      <th colspan=\"3\" halign=\"left\">survived</th>\n    </tr>\n    <tr>\n      <th>class</th>\n      <th>First</th>\n      <th>Second</th>\n      <th>Third</th>\n      <th>First</th>\n      <th>Second</th>\n      <th>Third</th>\n    </tr>\n    <tr>\n      <th>sex</th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>female</th>\n      <td>106.125798</td>\n      <td>21.970121</td>\n      <td>16.118810</td>\n      <td>91</td>\n      <td>70</td>\n      <td>72</td>\n    </tr>\n    <tr>\n      <th>male</th>\n      <td>67.226127</td>\n      <td>19.741782</td>\n      <td>12.661633</td>\n      <td>45</td>\n      <td>17</td>\n      <td>47</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 158
    }
   ],
   "source": [
    "titanic.pivot_table(index='sex', columns=['class'], fill_value=0, aggfunc={'survived':sum, 'fare':'mean'})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 159,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "class      First    Second     Third       All\nsex                                           \nfemale  0.968085  0.921053  0.500000  0.742038\nmale    0.368852  0.157407  0.135447  0.188908\nAll     0.629630  0.472826  0.242363  0.383838",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th>class</th>\n      <th>First</th>\n      <th>Second</th>\n      <th>Third</th>\n      <th>All</th>\n    </tr>\n    <tr>\n      <th>sex</th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>female</th>\n      <td>0.968085</td>\n      <td>0.921053</td>\n      <td>0.500000</td>\n      <td>0.742038</td>\n    </tr>\n    <tr>\n      <th>male</th>\n      <td>0.368852</td>\n      <td>0.157407</td>\n      <td>0.135447</td>\n      <td>0.188908</td>\n    </tr>\n    <tr>\n      <th>All</th>\n      <td>0.629630</td>\n      <td>0.472826</td>\n      <td>0.242363</td>\n      <td>0.383838</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 159
    }
   ],
   "source": [
    "titanic.pivot_table('survived',index=['sex'], columns=['class'], fill_value=0, margins=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "   year  month  day gender  births\n0  1969      1  1.0      F    4046\n1  1969      1  1.0      M    4440\n2  1969      1  2.0      F    4454\n3  1969      1  2.0      M    4548\n4  1969      1  3.0      F    4548",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>year</th>\n      <th>month</th>\n      <th>day</th>\n      <th>gender</th>\n      <th>births</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>1969</td>\n      <td>1</td>\n      <td>1.0</td>\n      <td>F</td>\n      <td>4046</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>1969</td>\n      <td>1</td>\n      <td>1.0</td>\n      <td>M</td>\n      <td>4440</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>1969</td>\n      <td>1</td>\n      <td>2.0</td>\n      <td>F</td>\n      <td>4454</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>1969</td>\n      <td>1</td>\n      <td>2.0</td>\n      <td>M</td>\n      <td>4548</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>1969</td>\n      <td>1</td>\n      <td>3.0</td>\n      <td>F</td>\n      <td>4548</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 2
    }
   ],
   "source": [
    "births = pd.read_csv('births.csv')\n",
    "births.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "               year         month           day         births\ncount  15547.000000  15547.000000  15067.000000   15547.000000\nmean    1979.037435      6.515919     17.769894    9762.293561\nstd        6.728340      3.449632     15.284034   28552.465810\nmin     1969.000000      1.000000      1.000000       1.000000\n25%     1974.000000      4.000000      8.000000    4358.000000\n50%     1979.000000      7.000000     16.000000    4814.000000\n75%     1984.000000     10.000000     24.000000    5289.500000\nmax     2008.000000     12.000000     99.000000  199622.000000",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>year</th>\n      <th>month</th>\n      <th>day</th>\n      <th>births</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>count</th>\n      <td>15547.000000</td>\n      <td>15547.000000</td>\n      <td>15067.000000</td>\n      <td>15547.000000</td>\n    </tr>\n    <tr>\n      <th>mean</th>\n      <td>1979.037435</td>\n      <td>6.515919</td>\n      <td>17.769894</td>\n      <td>9762.293561</td>\n    </tr>\n    <tr>\n      <th>std</th>\n      <td>6.728340</td>\n      <td>3.449632</td>\n      <td>15.284034</td>\n      <td>28552.465810</td>\n    </tr>\n    <tr>\n      <th>min</th>\n      <td>1969.000000</td>\n      <td>1.000000</td>\n      <td>1.000000</td>\n      <td>1.000000</td>\n    </tr>\n    <tr>\n      <th>25%</th>\n      <td>1974.000000</td>\n      <td>4.000000</td>\n      <td>8.000000</td>\n      <td>4358.000000</td>\n    </tr>\n    <tr>\n      <th>50%</th>\n      <td>1979.000000</td>\n      <td>7.000000</td>\n      <td>16.000000</td>\n      <td>4814.000000</td>\n    </tr>\n    <tr>\n      <th>75%</th>\n      <td>1984.000000</td>\n      <td>10.000000</td>\n      <td>24.000000</td>\n      <td>5289.500000</td>\n    </tr>\n    <tr>\n      <th>max</th>\n      <td>2008.000000</td>\n      <td>12.000000</td>\n      <td>99.000000</td>\n      <td>199622.000000</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 3
    }
   ],
   "source": [
    "births.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "births = births.dropna()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "       year  month   day gender  births\n0      1969      1   1.0      F    4046\n1      1969      1   1.0      M    4440\n2      1969      1   2.0      F    4454\n3      1969      1   2.0      M    4548\n4      1969      1   3.0      F    4548\n...     ...    ...   ...    ...     ...\n15062  1988     12  29.0      M    5944\n15063  1988     12  30.0      F    5742\n15064  1988     12  30.0      M    6095\n15065  1988     12  31.0      F    4435\n15066  1988     12  31.0      M    4698\n\n[14717 rows x 5 columns]",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>year</th>\n      <th>month</th>\n      <th>day</th>\n      <th>gender</th>\n      <th>births</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>1969</td>\n      <td>1</td>\n      <td>1.0</td>\n      <td>F</td>\n      <td>4046</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>1969</td>\n      <td>1</td>\n      <td>1.0</td>\n      <td>M</td>\n      <td>4440</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>1969</td>\n      <td>1</td>\n      <td>2.0</td>\n      <td>F</td>\n      <td>4454</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>1969</td>\n      <td>1</td>\n      <td>2.0</td>\n      <td>M</td>\n      <td>4548</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>1969</td>\n      <td>1</td>\n      <td>3.0</td>\n      <td>F</td>\n      <td>4548</td>\n    </tr>\n    <tr>\n      <th>...</th>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n    </tr>\n    <tr>\n      <th>15062</th>\n      <td>1988</td>\n      <td>12</td>\n      <td>29.0</td>\n      <td>M</td>\n      <td>5944</td>\n    </tr>\n    <tr>\n      <th>15063</th>\n      <td>1988</td>\n      <td>12</td>\n      <td>30.0</td>\n      <td>F</td>\n      <td>5742</td>\n    </tr>\n    <tr>\n      <th>15064</th>\n      <td>1988</td>\n      <td>12</td>\n      <td>30.0</td>\n      <td>M</td>\n      <td>6095</td>\n    </tr>\n    <tr>\n      <th>15065</th>\n      <td>1988</td>\n      <td>12</td>\n      <td>31.0</td>\n      <td>F</td>\n      <td>4435</td>\n    </tr>\n    <tr>\n      <th>15066</th>\n      <td>1988</td>\n      <td>12</td>\n      <td>31.0</td>\n      <td>M</td>\n      <td>4698</td>\n    </tr>\n  </tbody>\n</table>\n<p>14717 rows × 5 columns</p>\n</div>"
     },
     "metadata": {},
     "execution_count": 9
    }
   ],
   "source": [
    "births[births['day']<=31]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "quartiles = np.percentile(births['births'], [25, 50, 75])\n",
    "mu = quartiles[1]\n",
    "sig = 0.74 * (quartiles[2] - quartiles[0])\n",
    "births = births.query('(births > @mu - 5 * @sig) & (births < @mu + 5 * @sig)')\n",
    "births['day'] = births['day'].astype(int)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "               year         month           day        births\ncount  14610.000000  14610.000000  14610.000000  14610.000000\nmean    1978.501027      6.522930     15.729637   4824.470089\nstd        5.766538      3.448821      8.800393    579.996983\nmin     1969.000000      1.000000      1.000000   3249.000000\n25%     1974.000000      4.000000      8.000000   4383.000000\n50%     1979.000000      7.000000     16.000000   4812.000000\n75%     1984.000000     10.000000     23.000000   5259.000000\nmax     1988.000000     12.000000     31.000000   6527.000000",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>year</th>\n      <th>month</th>\n      <th>day</th>\n      <th>births</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>count</th>\n      <td>14610.000000</td>\n      <td>14610.000000</td>\n      <td>14610.000000</td>\n      <td>14610.000000</td>\n    </tr>\n    <tr>\n      <th>mean</th>\n      <td>1978.501027</td>\n      <td>6.522930</td>\n      <td>15.729637</td>\n      <td>4824.470089</td>\n    </tr>\n    <tr>\n      <th>std</th>\n      <td>5.766538</td>\n      <td>3.448821</td>\n      <td>8.800393</td>\n      <td>579.996983</td>\n    </tr>\n    <tr>\n      <th>min</th>\n      <td>1969.000000</td>\n      <td>1.000000</td>\n      <td>1.000000</td>\n      <td>3249.000000</td>\n    </tr>\n    <tr>\n      <th>25%</th>\n      <td>1974.000000</td>\n      <td>4.000000</td>\n      <td>8.000000</td>\n      <td>4383.000000</td>\n    </tr>\n    <tr>\n      <th>50%</th>\n      <td>1979.000000</td>\n      <td>7.000000</td>\n      <td>16.000000</td>\n      <td>4812.000000</td>\n    </tr>\n    <tr>\n      <th>75%</th>\n      <td>1984.000000</td>\n      <td>10.000000</td>\n      <td>23.000000</td>\n      <td>5259.000000</td>\n    </tr>\n    <tr>\n      <th>max</th>\n      <td>1988.000000</td>\n      <td>12.000000</td>\n      <td>31.000000</td>\n      <td>6527.000000</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 11
    }
   ],
   "source": [
    "births.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "gender         F         M\ndecade                    \n1960     1752836   1845742\n1970    16260348  17118785\n1980    16336507  17171290",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th>gender</th>\n      <th>F</th>\n      <th>M</th>\n    </tr>\n    <tr>\n      <th>decade</th>\n      <th></th>\n      <th></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>1960</th>\n      <td>1752836</td>\n      <td>1845742</td>\n    </tr>\n    <tr>\n      <th>1970</th>\n      <td>16260348</td>\n      <td>17118785</td>\n    </tr>\n    <tr>\n      <th>1980</th>\n      <td>16336507</td>\n      <td>17171290</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 12
    }
   ],
   "source": [
    "births['decade'] = 10 * (births['year'] // 10)\n",
    "births.pivot_table('births', index='decade', columns='gender', aggfunc='sum')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 165,
   "metadata": {},
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/svg+xml": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n  \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n<!-- Created with matplotlib (https://matplotlib.org/) -->\n<svg height=\"266.374219pt\" version=\"1.1\" viewBox=\"0 0 416.634219 266.374219\" width=\"416.634219pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <defs>\n  <style type=\"text/css\">\n*{stroke-linecap:butt;stroke-linejoin:round;}\n  </style>\n </defs>\n <g id=\"figure_1\">\n  <g id=\"patch_1\">\n   <path d=\"M 0 266.374219 \nL 416.634219 266.374219 \nL 416.634219 0 \nL 0 0 \nz\n\" style=\"fill:#ffffff;\"/>\n  </g>\n  <g id=\"axes_1\">\n   <g id=\"patch_2\">\n    <path d=\"M 74.634219 224.64 \nL 409.434219 224.64 \nL 409.434219 7.2 \nL 74.634219 7.2 \nz\n\" style=\"fill:#eaeaf2;\"/>\n   </g>\n   <g id=\"matplotlib.axis_1\">\n    <g id=\"xtick_1\">\n     <g id=\"line2d_1\">\n      <path clip-path=\"url(#p81585ee5c3)\" d=\"M 105.871539 224.64 \nL 105.871539 7.2 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n     </g>\n     <g id=\"text_1\">\n      <!-- 1970.0 -->\n      <defs>\n       <path d=\"M 37.25 0 \nL 28.46875 0 \nL 28.46875 56 \nQ 25.296875 52.984375 20.140625 49.953125 \nQ 14.984375 46.921875 10.890625 45.40625 \nL 10.890625 53.90625 \nQ 18.265625 57.375 23.78125 62.296875 \nQ 29.296875 67.234375 31.59375 71.875 \nL 37.25 71.875 \nz\n\" id=\"ArialMT-49\"/>\n       <path d=\"M 5.46875 16.546875 \nL 13.921875 17.328125 \nQ 14.984375 11.375 18.015625 8.6875 \nQ 21.046875 6 25.78125 6 \nQ 29.828125 6 32.875 7.859375 \nQ 35.9375 9.71875 37.890625 12.8125 \nQ 39.84375 15.921875 41.15625 21.1875 \nQ 42.484375 26.46875 42.484375 31.9375 \nQ 42.484375 32.515625 42.4375 33.6875 \nQ 39.796875 29.5 35.234375 26.875 \nQ 30.671875 24.265625 25.34375 24.265625 \nQ 16.453125 24.265625 10.296875 30.703125 \nQ 4.15625 37.15625 4.15625 47.703125 \nQ 4.15625 58.59375 10.578125 65.234375 \nQ 17 71.875 26.65625 71.875 \nQ 33.640625 71.875 39.421875 68.109375 \nQ 45.21875 64.359375 48.21875 57.390625 \nQ 51.21875 50.4375 51.21875 37.25 \nQ 51.21875 23.53125 48.234375 15.40625 \nQ 45.265625 7.28125 39.375 3.03125 \nQ 33.5 -1.21875 25.59375 -1.21875 \nQ 17.1875 -1.21875 11.859375 3.4375 \nQ 6.546875 8.109375 5.46875 16.546875 \nz\nM 41.453125 48.140625 \nQ 41.453125 55.71875 37.421875 60.15625 \nQ 33.40625 64.59375 27.734375 64.59375 \nQ 21.875 64.59375 17.53125 59.8125 \nQ 13.1875 55.03125 13.1875 47.40625 \nQ 13.1875 40.578125 17.3125 36.296875 \nQ 21.4375 32.03125 27.484375 32.03125 \nQ 33.59375 32.03125 37.515625 36.296875 \nQ 41.453125 40.578125 41.453125 48.140625 \nz\n\" id=\"ArialMT-57\"/>\n       <path d=\"M 4.734375 62.203125 \nL 4.734375 70.65625 \nL 51.078125 70.65625 \nL 51.078125 63.8125 \nQ 44.234375 56.546875 37.515625 44.484375 \nQ 30.8125 32.421875 27.15625 19.671875 \nQ 24.515625 10.6875 23.78125 0 \nL 14.75 0 \nQ 14.890625 8.453125 18.0625 20.40625 \nQ 21.234375 32.375 27.171875 43.484375 \nQ 33.109375 54.59375 39.796875 62.203125 \nz\n\" id=\"ArialMT-55\"/>\n       <path d=\"M 4.15625 35.296875 \nQ 4.15625 48 6.765625 55.734375 \nQ 9.375 63.484375 14.515625 67.671875 \nQ 19.671875 71.875 27.484375 71.875 \nQ 33.25 71.875 37.59375 69.546875 \nQ 41.9375 67.234375 44.765625 62.859375 \nQ 47.609375 58.5 49.21875 52.21875 \nQ 50.828125 45.953125 50.828125 35.296875 \nQ 50.828125 22.703125 48.234375 14.96875 \nQ 45.65625 7.234375 40.5 3 \nQ 35.359375 -1.21875 27.484375 -1.21875 \nQ 17.140625 -1.21875 11.234375 6.203125 \nQ 4.15625 15.140625 4.15625 35.296875 \nz\nM 13.1875 35.296875 \nQ 13.1875 17.671875 17.3125 11.828125 \nQ 21.4375 6 27.484375 6 \nQ 33.546875 6 37.671875 11.859375 \nQ 41.796875 17.71875 41.796875 35.296875 \nQ 41.796875 52.984375 37.671875 58.78125 \nQ 33.546875 64.59375 27.390625 64.59375 \nQ 21.34375 64.59375 17.71875 59.46875 \nQ 13.1875 52.9375 13.1875 35.296875 \nz\n\" id=\"ArialMT-48\"/>\n       <path d=\"M 9.078125 0 \nL 9.078125 10.015625 \nL 19.09375 10.015625 \nL 19.09375 0 \nz\n\" id=\"ArialMT-46\"/>\n      </defs>\n      <g style=\"fill:#262626;\" transform=\"translate(89.050992 242.013594)scale(0.11 -0.11)\">\n       <use xlink:href=\"#ArialMT-49\"/>\n       <use x=\"55.615234\" xlink:href=\"#ArialMT-57\"/>\n       <use x=\"111.230469\" xlink:href=\"#ArialMT-55\"/>\n       <use x=\"166.845703\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"222.460938\" xlink:href=\"#ArialMT-46\"/>\n       <use x=\"250.244141\" xlink:href=\"#ArialMT-48\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_2\">\n     <g id=\"line2d_2\">\n      <path clip-path=\"url(#p81585ee5c3)\" d=\"M 145.919386 224.64 \nL 145.919386 7.2 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n     </g>\n     <g id=\"text_2\">\n      <!-- 1972.5 -->\n      <defs>\n       <path d=\"M 50.34375 8.453125 \nL 50.34375 0 \nL 3.03125 0 \nQ 2.9375 3.171875 4.046875 6.109375 \nQ 5.859375 10.9375 9.828125 15.625 \nQ 13.8125 20.3125 21.34375 26.46875 \nQ 33.015625 36.03125 37.109375 41.625 \nQ 41.21875 47.21875 41.21875 52.203125 \nQ 41.21875 57.421875 37.46875 61 \nQ 33.734375 64.59375 27.734375 64.59375 \nQ 21.390625 64.59375 17.578125 60.78125 \nQ 13.765625 56.984375 13.71875 50.25 \nL 4.6875 51.171875 \nQ 5.609375 61.28125 11.65625 66.578125 \nQ 17.71875 71.875 27.9375 71.875 \nQ 38.234375 71.875 44.234375 66.15625 \nQ 50.25 60.453125 50.25 52 \nQ 50.25 47.703125 48.484375 43.546875 \nQ 46.734375 39.40625 42.65625 34.8125 \nQ 38.578125 30.21875 29.109375 22.21875 \nQ 21.1875 15.578125 18.9375 13.203125 \nQ 16.703125 10.84375 15.234375 8.453125 \nz\n\" id=\"ArialMT-50\"/>\n       <path d=\"M 4.15625 18.75 \nL 13.375 19.53125 \nQ 14.40625 12.796875 18.140625 9.390625 \nQ 21.875 6 27.15625 6 \nQ 33.5 6 37.890625 10.78125 \nQ 42.28125 15.578125 42.28125 23.484375 \nQ 42.28125 31 38.0625 35.34375 \nQ 33.84375 39.703125 27 39.703125 \nQ 22.75 39.703125 19.328125 37.765625 \nQ 15.921875 35.84375 13.96875 32.765625 \nL 5.71875 33.84375 \nL 12.640625 70.609375 \nL 48.25 70.609375 \nL 48.25 62.203125 \nL 19.671875 62.203125 \nL 15.828125 42.96875 \nQ 22.265625 47.46875 29.34375 47.46875 \nQ 38.71875 47.46875 45.15625 40.96875 \nQ 51.609375 34.46875 51.609375 24.265625 \nQ 51.609375 14.546875 45.953125 7.46875 \nQ 39.0625 -1.21875 27.15625 -1.21875 \nQ 17.390625 -1.21875 11.203125 4.25 \nQ 5.03125 9.71875 4.15625 18.75 \nz\n\" id=\"ArialMT-53\"/>\n      </defs>\n      <g style=\"fill:#262626;\" transform=\"translate(129.098839 242.013594)scale(0.11 -0.11)\">\n       <use xlink:href=\"#ArialMT-49\"/>\n       <use x=\"55.615234\" xlink:href=\"#ArialMT-57\"/>\n       <use x=\"111.230469\" xlink:href=\"#ArialMT-55\"/>\n       <use x=\"166.845703\" xlink:href=\"#ArialMT-50\"/>\n       <use x=\"222.460938\" xlink:href=\"#ArialMT-46\"/>\n       <use x=\"250.244141\" xlink:href=\"#ArialMT-53\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_3\">\n     <g id=\"line2d_3\">\n      <path clip-path=\"url(#p81585ee5c3)\" d=\"M 185.967233 224.64 \nL 185.967233 7.2 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n     </g>\n     <g id=\"text_3\">\n      <!-- 1975.0 -->\n      <g style=\"fill:#262626;\" transform=\"translate(169.146686 242.013594)scale(0.11 -0.11)\">\n       <use xlink:href=\"#ArialMT-49\"/>\n       <use x=\"55.615234\" xlink:href=\"#ArialMT-57\"/>\n       <use x=\"111.230469\" xlink:href=\"#ArialMT-55\"/>\n       <use x=\"166.845703\" xlink:href=\"#ArialMT-53\"/>\n       <use x=\"222.460938\" xlink:href=\"#ArialMT-46\"/>\n       <use x=\"250.244141\" xlink:href=\"#ArialMT-48\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_4\">\n     <g id=\"line2d_4\">\n      <path clip-path=\"url(#p81585ee5c3)\" d=\"M 226.01508 224.64 \nL 226.01508 7.2 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n     </g>\n     <g id=\"text_4\">\n      <!-- 1977.5 -->\n      <g style=\"fill:#262626;\" transform=\"translate(209.194533 242.013594)scale(0.11 -0.11)\">\n       <use xlink:href=\"#ArialMT-49\"/>\n       <use x=\"55.615234\" xlink:href=\"#ArialMT-57\"/>\n       <use x=\"111.230469\" xlink:href=\"#ArialMT-55\"/>\n       <use x=\"166.845703\" xlink:href=\"#ArialMT-55\"/>\n       <use x=\"222.460938\" xlink:href=\"#ArialMT-46\"/>\n       <use x=\"250.244141\" xlink:href=\"#ArialMT-53\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_5\">\n     <g id=\"line2d_5\">\n      <path clip-path=\"url(#p81585ee5c3)\" d=\"M 266.062927 224.64 \nL 266.062927 7.2 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n     </g>\n     <g id=\"text_5\">\n      <!-- 1980.0 -->\n      <defs>\n       <path d=\"M 17.671875 38.8125 \nQ 12.203125 40.828125 9.5625 44.53125 \nQ 6.9375 48.25 6.9375 53.421875 \nQ 6.9375 61.234375 12.546875 66.546875 \nQ 18.171875 71.875 27.484375 71.875 \nQ 36.859375 71.875 42.578125 66.421875 \nQ 48.296875 60.984375 48.296875 53.171875 \nQ 48.296875 48.1875 45.671875 44.5 \nQ 43.0625 40.828125 37.75 38.8125 \nQ 44.34375 36.671875 47.78125 31.875 \nQ 51.21875 27.09375 51.21875 20.453125 \nQ 51.21875 11.28125 44.71875 5.03125 \nQ 38.234375 -1.21875 27.640625 -1.21875 \nQ 17.046875 -1.21875 10.546875 5.046875 \nQ 4.046875 11.328125 4.046875 20.703125 \nQ 4.046875 27.6875 7.59375 32.390625 \nQ 11.140625 37.109375 17.671875 38.8125 \nz\nM 15.921875 53.71875 \nQ 15.921875 48.640625 19.1875 45.40625 \nQ 22.46875 42.1875 27.6875 42.1875 \nQ 32.765625 42.1875 36.015625 45.375 \nQ 39.265625 48.578125 39.265625 53.21875 \nQ 39.265625 58.0625 35.90625 61.359375 \nQ 32.5625 64.65625 27.59375 64.65625 \nQ 22.5625 64.65625 19.234375 61.421875 \nQ 15.921875 58.203125 15.921875 53.71875 \nz\nM 13.09375 20.65625 \nQ 13.09375 16.890625 14.875 13.375 \nQ 16.65625 9.859375 20.171875 7.921875 \nQ 23.6875 6 27.734375 6 \nQ 34.03125 6 38.125 10.046875 \nQ 42.234375 14.109375 42.234375 20.359375 \nQ 42.234375 26.703125 38.015625 30.859375 \nQ 33.796875 35.015625 27.4375 35.015625 \nQ 21.234375 35.015625 17.15625 30.90625 \nQ 13.09375 26.8125 13.09375 20.65625 \nz\n\" id=\"ArialMT-56\"/>\n      </defs>\n      <g style=\"fill:#262626;\" transform=\"translate(249.24238 242.013594)scale(0.11 -0.11)\">\n       <use xlink:href=\"#ArialMT-49\"/>\n       <use x=\"55.615234\" xlink:href=\"#ArialMT-57\"/>\n       <use x=\"111.230469\" xlink:href=\"#ArialMT-56\"/>\n       <use x=\"166.845703\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"222.460938\" xlink:href=\"#ArialMT-46\"/>\n       <use x=\"250.244141\" xlink:href=\"#ArialMT-48\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_6\">\n     <g id=\"line2d_6\">\n      <path clip-path=\"url(#p81585ee5c3)\" d=\"M 306.110774 224.64 \nL 306.110774 7.2 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n     </g>\n     <g id=\"text_6\">\n      <!-- 1982.5 -->\n      <g style=\"fill:#262626;\" transform=\"translate(289.290227 242.013594)scale(0.11 -0.11)\">\n       <use xlink:href=\"#ArialMT-49\"/>\n       <use x=\"55.615234\" xlink:href=\"#ArialMT-57\"/>\n       <use x=\"111.230469\" xlink:href=\"#ArialMT-56\"/>\n       <use x=\"166.845703\" xlink:href=\"#ArialMT-50\"/>\n       <use x=\"222.460938\" xlink:href=\"#ArialMT-46\"/>\n       <use x=\"250.244141\" xlink:href=\"#ArialMT-53\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_7\">\n     <g id=\"line2d_7\">\n      <path clip-path=\"url(#p81585ee5c3)\" d=\"M 346.158621 224.64 \nL 346.158621 7.2 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n     </g>\n     <g id=\"text_7\">\n      <!-- 1985.0 -->\n      <g style=\"fill:#262626;\" transform=\"translate(329.338074 242.013594)scale(0.11 -0.11)\">\n       <use xlink:href=\"#ArialMT-49\"/>\n       <use x=\"55.615234\" xlink:href=\"#ArialMT-57\"/>\n       <use x=\"111.230469\" xlink:href=\"#ArialMT-56\"/>\n       <use x=\"166.845703\" xlink:href=\"#ArialMT-53\"/>\n       <use x=\"222.460938\" xlink:href=\"#ArialMT-46\"/>\n       <use x=\"250.244141\" xlink:href=\"#ArialMT-48\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_8\">\n     <g id=\"line2d_8\">\n      <path clip-path=\"url(#p81585ee5c3)\" d=\"M 386.206468 224.64 \nL 386.206468 7.2 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n     </g>\n     <g id=\"text_8\">\n      <!-- 1987.5 -->\n      <g style=\"fill:#262626;\" transform=\"translate(369.385921 242.013594)scale(0.11 -0.11)\">\n       <use xlink:href=\"#ArialMT-49\"/>\n       <use x=\"55.615234\" xlink:href=\"#ArialMT-57\"/>\n       <use x=\"111.230469\" xlink:href=\"#ArialMT-56\"/>\n       <use x=\"166.845703\" xlink:href=\"#ArialMT-55\"/>\n       <use x=\"222.460938\" xlink:href=\"#ArialMT-46\"/>\n       <use x=\"250.244141\" xlink:href=\"#ArialMT-53\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"text_9\">\n     <!-- year -->\n     <defs>\n      <path d=\"M 6.203125 -19.96875 \nL 5.21875 -11.71875 \nQ 8.109375 -12.5 10.25 -12.5 \nQ 13.1875 -12.5 14.9375 -11.515625 \nQ 16.703125 -10.546875 17.828125 -8.796875 \nQ 18.65625 -7.46875 20.515625 -2.25 \nQ 20.75 -1.515625 21.296875 -0.09375 \nL 1.609375 51.859375 \nL 11.078125 51.859375 \nL 21.875 21.828125 \nQ 23.96875 16.109375 25.640625 9.8125 \nQ 27.15625 15.875 29.25 21.625 \nL 40.328125 51.859375 \nL 49.125 51.859375 \nL 29.390625 -0.875 \nQ 26.21875 -9.421875 24.46875 -12.640625 \nQ 22.125 -17 19.09375 -19.015625 \nQ 16.0625 -21.046875 11.859375 -21.046875 \nQ 9.328125 -21.046875 6.203125 -19.96875 \nz\n\" id=\"ArialMT-121\"/>\n      <path d=\"M 42.09375 16.703125 \nL 51.171875 15.578125 \nQ 49.03125 7.625 43.21875 3.21875 \nQ 37.40625 -1.171875 28.375 -1.171875 \nQ 17 -1.171875 10.328125 5.828125 \nQ 3.65625 12.84375 3.65625 25.484375 \nQ 3.65625 38.578125 10.390625 45.796875 \nQ 17.140625 53.03125 27.875 53.03125 \nQ 38.28125 53.03125 44.875 45.953125 \nQ 51.46875 38.875 51.46875 26.03125 \nQ 51.46875 25.25 51.421875 23.6875 \nL 12.75 23.6875 \nQ 13.234375 15.140625 17.578125 10.59375 \nQ 21.921875 6.0625 28.421875 6.0625 \nQ 33.25 6.0625 36.671875 8.59375 \nQ 40.09375 11.140625 42.09375 16.703125 \nz\nM 13.234375 30.90625 \nL 42.1875 30.90625 \nQ 41.609375 37.453125 38.875 40.71875 \nQ 34.671875 45.796875 27.984375 45.796875 \nQ 21.921875 45.796875 17.796875 41.75 \nQ 13.671875 37.703125 13.234375 30.90625 \nz\n\" id=\"ArialMT-101\"/>\n      <path d=\"M 40.4375 6.390625 \nQ 35.546875 2.25 31.03125 0.53125 \nQ 26.515625 -1.171875 21.34375 -1.171875 \nQ 12.796875 -1.171875 8.203125 3 \nQ 3.609375 7.171875 3.609375 13.671875 \nQ 3.609375 17.484375 5.34375 20.625 \nQ 7.078125 23.78125 9.890625 25.6875 \nQ 12.703125 27.59375 16.21875 28.5625 \nQ 18.796875 29.25 24.03125 29.890625 \nQ 34.671875 31.15625 39.703125 32.90625 \nQ 39.75 34.71875 39.75 35.203125 \nQ 39.75 40.578125 37.25 42.78125 \nQ 33.890625 45.75 27.25 45.75 \nQ 21.046875 45.75 18.09375 43.578125 \nQ 15.140625 41.40625 13.71875 35.890625 \nL 5.125 37.0625 \nQ 6.296875 42.578125 8.984375 45.96875 \nQ 11.671875 49.359375 16.75 51.1875 \nQ 21.828125 53.03125 28.515625 53.03125 \nQ 35.15625 53.03125 39.296875 51.46875 \nQ 43.453125 49.90625 45.40625 47.53125 \nQ 47.359375 45.171875 48.140625 41.546875 \nQ 48.578125 39.3125 48.578125 33.453125 \nL 48.578125 21.734375 \nQ 48.578125 9.46875 49.140625 6.21875 \nQ 49.703125 2.984375 51.375 0 \nL 42.1875 0 \nQ 40.828125 2.734375 40.4375 6.390625 \nz\nM 39.703125 26.03125 \nQ 34.90625 24.078125 25.34375 22.703125 \nQ 19.921875 21.921875 17.671875 20.9375 \nQ 15.4375 19.96875 14.203125 18.09375 \nQ 12.984375 16.21875 12.984375 13.921875 \nQ 12.984375 10.40625 15.640625 8.0625 \nQ 18.3125 5.71875 23.4375 5.71875 \nQ 28.515625 5.71875 32.46875 7.9375 \nQ 36.421875 10.15625 38.28125 14.015625 \nQ 39.703125 17 39.703125 22.796875 \nz\n\" id=\"ArialMT-97\"/>\n      <path d=\"M 6.5 0 \nL 6.5 51.859375 \nL 14.40625 51.859375 \nL 14.40625 44 \nQ 17.4375 49.515625 20 51.265625 \nQ 22.5625 53.03125 25.640625 53.03125 \nQ 30.078125 53.03125 34.671875 50.203125 \nL 31.640625 42.046875 \nQ 28.421875 43.953125 25.203125 43.953125 \nQ 22.3125 43.953125 20.015625 42.21875 \nQ 17.71875 40.484375 16.75 37.40625 \nQ 15.28125 32.71875 15.28125 27.15625 \nL 15.28125 0 \nz\n\" id=\"ArialMT-114\"/>\n     </defs>\n     <g style=\"fill:#262626;\" transform=\"translate(230.363281 256.648594)scale(0.12 -0.12)\">\n      <use xlink:href=\"#ArialMT-121\"/>\n      <use x=\"50\" xlink:href=\"#ArialMT-101\"/>\n      <use x=\"105.615234\" xlink:href=\"#ArialMT-97\"/>\n      <use x=\"161.230469\" xlink:href=\"#ArialMT-114\"/>\n     </g>\n    </g>\n   </g>\n   <g id=\"matplotlib.axis_2\">\n    <g id=\"ytick_1\">\n     <g id=\"line2d_9\">\n      <path clip-path=\"url(#p81585ee5c3)\" d=\"M 74.634219 186.621206 \nL 409.434219 186.621206 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n     </g>\n     <g id=\"text_10\">\n      <!-- 1600000 -->\n      <defs>\n       <path d=\"M 49.75 54.046875 \nL 41.015625 53.375 \nQ 39.84375 58.546875 37.703125 60.890625 \nQ 34.125 64.65625 28.90625 64.65625 \nQ 24.703125 64.65625 21.53125 62.3125 \nQ 17.390625 59.28125 14.984375 53.46875 \nQ 12.59375 47.65625 12.5 36.921875 \nQ 15.671875 41.75 20.265625 44.09375 \nQ 24.859375 46.4375 29.890625 46.4375 \nQ 38.671875 46.4375 44.84375 39.96875 \nQ 51.03125 33.5 51.03125 23.25 \nQ 51.03125 16.5 48.125 10.71875 \nQ 45.21875 4.9375 40.140625 1.859375 \nQ 35.0625 -1.21875 28.609375 -1.21875 \nQ 17.625 -1.21875 10.6875 6.859375 \nQ 3.765625 14.9375 3.765625 33.5 \nQ 3.765625 54.25 11.421875 63.671875 \nQ 18.109375 71.875 29.4375 71.875 \nQ 37.890625 71.875 43.28125 67.140625 \nQ 48.6875 62.40625 49.75 54.046875 \nz\nM 13.875 23.1875 \nQ 13.875 18.65625 15.796875 14.5 \nQ 17.71875 10.359375 21.1875 8.171875 \nQ 24.65625 6 28.46875 6 \nQ 34.03125 6 38.03125 10.484375 \nQ 42.046875 14.984375 42.046875 22.703125 \nQ 42.046875 30.125 38.078125 34.390625 \nQ 34.125 38.671875 28.125 38.671875 \nQ 22.171875 38.671875 18.015625 34.390625 \nQ 13.875 30.125 13.875 23.1875 \nz\n\" id=\"ArialMT-54\"/>\n      </defs>\n      <g style=\"fill:#262626;\" transform=\"translate(22.315 190.558003)scale(0.11 -0.11)\">\n       <use xlink:href=\"#ArialMT-49\"/>\n       <use x=\"55.615234\" xlink:href=\"#ArialMT-54\"/>\n       <use x=\"111.230469\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"166.845703\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"222.460938\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"278.076172\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"333.691406\" xlink:href=\"#ArialMT-48\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"ytick_2\">\n     <g id=\"line2d_10\">\n      <path clip-path=\"url(#p81585ee5c3)\" d=\"M 74.634219 144.716621 \nL 409.434219 144.716621 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n     </g>\n     <g id=\"text_11\">\n      <!-- 1700000 -->\n      <g style=\"fill:#262626;\" transform=\"translate(22.315 148.653418)scale(0.11 -0.11)\">\n       <use xlink:href=\"#ArialMT-49\"/>\n       <use x=\"55.615234\" xlink:href=\"#ArialMT-55\"/>\n       <use x=\"111.230469\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"166.845703\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"222.460938\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"278.076172\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"333.691406\" xlink:href=\"#ArialMT-48\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"ytick_3\">\n     <g id=\"line2d_11\">\n      <path clip-path=\"url(#p81585ee5c3)\" d=\"M 74.634219 102.812036 \nL 409.434219 102.812036 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n     </g>\n     <g id=\"text_12\">\n      <!-- 1800000 -->\n      <g style=\"fill:#262626;\" transform=\"translate(22.315 106.748833)scale(0.11 -0.11)\">\n       <use xlink:href=\"#ArialMT-49\"/>\n       <use x=\"55.615234\" xlink:href=\"#ArialMT-56\"/>\n       <use x=\"111.230469\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"166.845703\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"222.460938\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"278.076172\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"333.691406\" xlink:href=\"#ArialMT-48\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"ytick_4\">\n     <g id=\"line2d_12\">\n      <path clip-path=\"url(#p81585ee5c3)\" d=\"M 74.634219 60.907451 \nL 409.434219 60.907451 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n     </g>\n     <g id=\"text_13\">\n      <!-- 1900000 -->\n      <g style=\"fill:#262626;\" transform=\"translate(22.315 64.844248)scale(0.11 -0.11)\">\n       <use xlink:href=\"#ArialMT-49\"/>\n       <use x=\"55.615234\" xlink:href=\"#ArialMT-57\"/>\n       <use x=\"111.230469\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"166.845703\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"222.460938\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"278.076172\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"333.691406\" xlink:href=\"#ArialMT-48\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"ytick_5\">\n     <g id=\"line2d_13\">\n      <path clip-path=\"url(#p81585ee5c3)\" d=\"M 74.634219 19.002866 \nL 409.434219 19.002866 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n     </g>\n     <g id=\"text_14\">\n      <!-- 2000000 -->\n      <g style=\"fill:#262626;\" transform=\"translate(22.315 22.939663)scale(0.11 -0.11)\">\n       <use xlink:href=\"#ArialMT-50\"/>\n       <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"111.230469\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"166.845703\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"222.460938\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"278.076172\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"333.691406\" xlink:href=\"#ArialMT-48\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"text_15\">\n     <!-- total births per year -->\n     <defs>\n      <path d=\"M 25.78125 7.859375 \nL 27.046875 0.09375 \nQ 23.34375 -0.6875 20.40625 -0.6875 \nQ 15.625 -0.6875 12.984375 0.828125 \nQ 10.359375 2.34375 9.28125 4.8125 \nQ 8.203125 7.28125 8.203125 15.1875 \nL 8.203125 45.015625 \nL 1.765625 45.015625 \nL 1.765625 51.859375 \nL 8.203125 51.859375 \nL 8.203125 64.703125 \nL 16.9375 69.96875 \nL 16.9375 51.859375 \nL 25.78125 51.859375 \nL 25.78125 45.015625 \nL 16.9375 45.015625 \nL 16.9375 14.703125 \nQ 16.9375 10.9375 17.40625 9.859375 \nQ 17.875 8.796875 18.921875 8.15625 \nQ 19.96875 7.515625 21.921875 7.515625 \nQ 23.390625 7.515625 25.78125 7.859375 \nz\n\" id=\"ArialMT-116\"/>\n      <path d=\"M 3.328125 25.921875 \nQ 3.328125 40.328125 11.328125 47.265625 \nQ 18.015625 53.03125 27.640625 53.03125 \nQ 38.328125 53.03125 45.109375 46.015625 \nQ 51.90625 39.015625 51.90625 26.65625 \nQ 51.90625 16.65625 48.90625 10.90625 \nQ 45.90625 5.171875 40.15625 2 \nQ 34.421875 -1.171875 27.640625 -1.171875 \nQ 16.75 -1.171875 10.03125 5.8125 \nQ 3.328125 12.796875 3.328125 25.921875 \nz\nM 12.359375 25.921875 \nQ 12.359375 15.96875 16.703125 11.015625 \nQ 21.046875 6.0625 27.640625 6.0625 \nQ 34.1875 6.0625 38.53125 11.03125 \nQ 42.875 16.015625 42.875 26.21875 \nQ 42.875 35.84375 38.5 40.796875 \nQ 34.125 45.75 27.640625 45.75 \nQ 21.046875 45.75 16.703125 40.8125 \nQ 12.359375 35.890625 12.359375 25.921875 \nz\n\" id=\"ArialMT-111\"/>\n      <path d=\"M 6.390625 0 \nL 6.390625 71.578125 \nL 15.1875 71.578125 \nL 15.1875 0 \nz\n\" id=\"ArialMT-108\"/>\n      <path id=\"ArialMT-32\"/>\n      <path d=\"M 14.703125 0 \nL 6.546875 0 \nL 6.546875 71.578125 \nL 15.328125 71.578125 \nL 15.328125 46.046875 \nQ 20.90625 53.03125 29.546875 53.03125 \nQ 34.328125 53.03125 38.59375 51.09375 \nQ 42.875 49.171875 45.625 45.671875 \nQ 48.390625 42.1875 49.953125 37.25 \nQ 51.515625 32.328125 51.515625 26.703125 \nQ 51.515625 13.375 44.921875 6.09375 \nQ 38.328125 -1.171875 29.109375 -1.171875 \nQ 19.921875 -1.171875 14.703125 6.5 \nz\nM 14.59375 26.3125 \nQ 14.59375 17 17.140625 12.84375 \nQ 21.296875 6.0625 28.375 6.0625 \nQ 34.125 6.0625 38.328125 11.0625 \nQ 42.53125 16.0625 42.53125 25.984375 \nQ 42.53125 36.140625 38.5 40.96875 \nQ 34.46875 45.796875 28.765625 45.796875 \nQ 23 45.796875 18.796875 40.796875 \nQ 14.59375 35.796875 14.59375 26.3125 \nz\n\" id=\"ArialMT-98\"/>\n      <path d=\"M 6.640625 61.46875 \nL 6.640625 71.578125 \nL 15.4375 71.578125 \nL 15.4375 61.46875 \nz\nM 6.640625 0 \nL 6.640625 51.859375 \nL 15.4375 51.859375 \nL 15.4375 0 \nz\n\" id=\"ArialMT-105\"/>\n      <path d=\"M 6.59375 0 \nL 6.59375 71.578125 \nL 15.375 71.578125 \nL 15.375 45.90625 \nQ 21.53125 53.03125 30.90625 53.03125 \nQ 36.671875 53.03125 40.921875 50.75 \nQ 45.171875 48.484375 47 44.484375 \nQ 48.828125 40.484375 48.828125 32.859375 \nL 48.828125 0 \nL 40.046875 0 \nL 40.046875 32.859375 \nQ 40.046875 39.453125 37.1875 42.453125 \nQ 34.328125 45.453125 29.109375 45.453125 \nQ 25.203125 45.453125 21.75 43.421875 \nQ 18.3125 41.40625 16.84375 37.9375 \nQ 15.375 34.46875 15.375 28.375 \nL 15.375 0 \nz\n\" id=\"ArialMT-104\"/>\n      <path d=\"M 3.078125 15.484375 \nL 11.765625 16.84375 \nQ 12.5 11.625 15.84375 8.84375 \nQ 19.1875 6.0625 25.203125 6.0625 \nQ 31.25 6.0625 34.171875 8.515625 \nQ 37.109375 10.984375 37.109375 14.3125 \nQ 37.109375 17.28125 34.515625 19 \nQ 32.71875 20.171875 25.53125 21.96875 \nQ 15.875 24.421875 12.140625 26.203125 \nQ 8.40625 27.984375 6.46875 31.125 \nQ 4.546875 34.28125 4.546875 38.09375 \nQ 4.546875 41.546875 6.125 44.5 \nQ 7.71875 47.46875 10.453125 49.421875 \nQ 12.5 50.921875 16.03125 51.96875 \nQ 19.578125 53.03125 23.640625 53.03125 \nQ 29.734375 53.03125 34.34375 51.265625 \nQ 38.96875 49.515625 41.15625 46.5 \nQ 43.359375 43.5 44.1875 38.484375 \nL 35.59375 37.3125 \nQ 35.015625 41.3125 32.203125 43.546875 \nQ 29.390625 45.796875 24.265625 45.796875 \nQ 18.21875 45.796875 15.625 43.796875 \nQ 13.03125 41.796875 13.03125 39.109375 \nQ 13.03125 37.40625 14.109375 36.03125 \nQ 15.1875 34.625 17.484375 33.6875 \nQ 18.796875 33.203125 25.25 31.453125 \nQ 34.578125 28.953125 38.25 27.359375 \nQ 41.9375 25.78125 44.03125 22.75 \nQ 46.140625 19.734375 46.140625 15.234375 \nQ 46.140625 10.84375 43.578125 6.953125 \nQ 41.015625 3.078125 36.171875 0.953125 \nQ 31.34375 -1.171875 25.25 -1.171875 \nQ 15.140625 -1.171875 9.84375 3.03125 \nQ 4.546875 7.234375 3.078125 15.484375 \nz\n\" id=\"ArialMT-115\"/>\n      <path d=\"M 6.59375 -19.875 \nL 6.59375 51.859375 \nL 14.59375 51.859375 \nL 14.59375 45.125 \nQ 17.4375 49.078125 21 51.046875 \nQ 24.5625 53.03125 29.640625 53.03125 \nQ 36.28125 53.03125 41.359375 49.609375 \nQ 46.4375 46.1875 49.015625 39.953125 \nQ 51.609375 33.734375 51.609375 26.3125 \nQ 51.609375 18.359375 48.75 11.984375 \nQ 45.90625 5.609375 40.453125 2.21875 \nQ 35.015625 -1.171875 29 -1.171875 \nQ 24.609375 -1.171875 21.109375 0.6875 \nQ 17.625 2.546875 15.375 5.375 \nL 15.375 -19.875 \nz\nM 14.546875 25.640625 \nQ 14.546875 15.625 18.59375 10.84375 \nQ 22.65625 6.0625 28.421875 6.0625 \nQ 34.28125 6.0625 38.453125 11.015625 \nQ 42.625 15.96875 42.625 26.375 \nQ 42.625 36.28125 38.546875 41.203125 \nQ 34.46875 46.140625 28.8125 46.140625 \nQ 23.1875 46.140625 18.859375 40.890625 \nQ 14.546875 35.640625 14.546875 25.640625 \nz\n\" id=\"ArialMT-112\"/>\n     </defs>\n     <g style=\"fill:#262626;\" transform=\"translate(15.789375 167.273438)rotate(-90)scale(0.12 -0.12)\">\n      <use xlink:href=\"#ArialMT-116\"/>\n      <use x=\"27.783203\" xlink:href=\"#ArialMT-111\"/>\n      <use x=\"83.398438\" xlink:href=\"#ArialMT-116\"/>\n      <use x=\"111.181641\" xlink:href=\"#ArialMT-97\"/>\n      <use x=\"166.796875\" xlink:href=\"#ArialMT-108\"/>\n      <use x=\"189.013672\" xlink:href=\"#ArialMT-32\"/>\n      <use x=\"216.796875\" xlink:href=\"#ArialMT-98\"/>\n      <use x=\"272.412109\" xlink:href=\"#ArialMT-105\"/>\n      <use x=\"294.628906\" xlink:href=\"#ArialMT-114\"/>\n      <use x=\"327.929688\" xlink:href=\"#ArialMT-116\"/>\n      <use x=\"355.712891\" xlink:href=\"#ArialMT-104\"/>\n      <use x=\"411.328125\" xlink:href=\"#ArialMT-115\"/>\n      <use x=\"461.328125\" xlink:href=\"#ArialMT-32\"/>\n      <use x=\"489.111328\" xlink:href=\"#ArialMT-112\"/>\n      <use x=\"544.726562\" xlink:href=\"#ArialMT-101\"/>\n      <use x=\"600.341797\" xlink:href=\"#ArialMT-114\"/>\n      <use x=\"633.642578\" xlink:href=\"#ArialMT-32\"/>\n      <use x=\"661.425781\" xlink:href=\"#ArialMT-121\"/>\n      <use x=\"711.425781\" xlink:href=\"#ArialMT-101\"/>\n      <use x=\"767.041016\" xlink:href=\"#ArialMT-97\"/>\n      <use x=\"822.65625\" xlink:href=\"#ArialMT-114\"/>\n     </g>\n    </g>\n   </g>\n   <g id=\"line2d_14\">\n    <path clip-path=\"url(#p81585ee5c3)\" d=\"M 89.852401 122.575915 \nL 105.871539 95.452753 \nL 121.890678 129.397981 \nL 137.909817 189.906945 \nL 153.928956 214.756364 \nL 169.948094 210.562134 \nL 185.967233 213.67313 \nL 201.986372 208.617761 \nL 218.005511 176.854505 \nL 234.024649 175.610357 \nL 250.043788 142.282384 \nL 266.062927 118.549722 \nL 282.082066 114.536101 \nL 298.101204 103.982431 \nL 314.120343 113.178393 \nL 330.139482 106.254498 \nL 346.158621 88.241812 \nL 362.177759 88.689353 \nL 378.196898 77.623609 \nL 394.216037 57.049715 \n\" style=\"fill:none;stroke:#4c72b0;stroke-linecap:round;stroke-width:1.5;\"/>\n   </g>\n   <g id=\"line2d_15\">\n    <path clip-path=\"url(#p81585ee5c3)\" d=\"M 89.852401 83.644041 \nL 105.871539 53.765234 \nL 121.890678 91.699778 \nL 137.909817 155.735851 \nL 153.928956 181.25281 \nL 169.948094 175.123426 \nL 185.967233 179.111067 \nL 201.986372 174.570286 \nL 218.005511 141.053741 \nL 234.024649 139.721176 \nL 250.043788 105.356483 \nL 266.062927 79.553315 \nL 282.082066 76.220225 \nL 298.101204 65.866021 \nL 314.120343 74.539432 \nL 330.139482 68.556714 \nL 346.158621 48.217067 \nL 362.177759 49.601594 \nL 378.196898 38.655279 \nL 394.216037 17.083636 \n\" style=\"fill:none;stroke:#dd8452;stroke-linecap:round;stroke-width:1.5;\"/>\n   </g>\n   <g id=\"patch_3\">\n    <path d=\"M 74.634219 224.64 \nL 74.634219 7.2 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.25;\"/>\n   </g>\n   <g id=\"patch_4\">\n    <path d=\"M 409.434219 224.64 \nL 409.434219 7.2 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.25;\"/>\n   </g>\n   <g id=\"patch_5\">\n    <path d=\"M 74.634219 224.64 \nL 409.434219 224.64 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.25;\"/>\n   </g>\n   <g id=\"patch_6\">\n    <path d=\"M 74.634219 7.2 \nL 409.434219 7.2 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.25;\"/>\n   </g>\n   <g id=\"legend_1\">\n    <g id=\"patch_7\">\n     <path d=\"M 82.334219 219.14 \nL 126.696875 219.14 \nQ 128.896875 219.14 128.896875 216.94 \nL 128.896875 170.305313 \nQ 128.896875 168.105313 126.696875 168.105313 \nL 82.334219 168.105313 \nQ 80.134219 168.105313 80.134219 170.305313 \nL 80.134219 216.94 \nQ 80.134219 219.14 82.334219 219.14 \nz\n\" style=\"fill:#eaeaf2;opacity:0.8;stroke:#cccccc;stroke-linejoin:miter;\"/>\n    </g>\n    <g id=\"text_16\">\n     <!-- gender -->\n     <defs>\n      <path d=\"M 4.984375 -4.296875 \nL 13.53125 -5.5625 \nQ 14.0625 -9.515625 16.5 -11.328125 \nQ 19.78125 -13.765625 25.4375 -13.765625 \nQ 31.546875 -13.765625 34.859375 -11.328125 \nQ 38.1875 -8.890625 39.359375 -4.5 \nQ 40.046875 -1.8125 39.984375 6.78125 \nQ 34.234375 0 25.640625 0 \nQ 14.9375 0 9.078125 7.71875 \nQ 3.21875 15.4375 3.21875 26.21875 \nQ 3.21875 33.640625 5.90625 39.90625 \nQ 8.59375 46.1875 13.6875 49.609375 \nQ 18.796875 53.03125 25.6875 53.03125 \nQ 34.859375 53.03125 40.828125 45.609375 \nL 40.828125 51.859375 \nL 48.921875 51.859375 \nL 48.921875 7.03125 \nQ 48.921875 -5.078125 46.453125 -10.125 \nQ 44 -15.1875 38.640625 -18.109375 \nQ 33.296875 -21.046875 25.484375 -21.046875 \nQ 16.21875 -21.046875 10.5 -16.875 \nQ 4.78125 -12.703125 4.984375 -4.296875 \nz\nM 12.25 26.859375 \nQ 12.25 16.65625 16.296875 11.96875 \nQ 20.359375 7.28125 26.46875 7.28125 \nQ 32.515625 7.28125 36.609375 11.9375 \nQ 40.71875 16.609375 40.71875 26.5625 \nQ 40.71875 36.078125 36.5 40.90625 \nQ 32.28125 45.75 26.3125 45.75 \nQ 20.453125 45.75 16.34375 40.984375 \nQ 12.25 36.234375 12.25 26.859375 \nz\n\" id=\"ArialMT-103\"/>\n      <path d=\"M 6.59375 0 \nL 6.59375 51.859375 \nL 14.5 51.859375 \nL 14.5 44.484375 \nQ 20.21875 53.03125 31 53.03125 \nQ 35.6875 53.03125 39.625 51.34375 \nQ 43.5625 49.65625 45.515625 46.921875 \nQ 47.46875 44.1875 48.25 40.4375 \nQ 48.734375 37.984375 48.734375 31.890625 \nL 48.734375 0 \nL 39.9375 0 \nL 39.9375 31.546875 \nQ 39.9375 36.921875 38.90625 39.578125 \nQ 37.890625 42.234375 35.28125 43.8125 \nQ 32.671875 45.40625 29.15625 45.40625 \nQ 23.53125 45.40625 19.453125 41.84375 \nQ 15.375 38.28125 15.375 28.328125 \nL 15.375 0 \nz\n\" id=\"ArialMT-110\"/>\n      <path d=\"M 40.234375 0 \nL 40.234375 6.546875 \nQ 35.296875 -1.171875 25.734375 -1.171875 \nQ 19.53125 -1.171875 14.328125 2.25 \nQ 9.125 5.671875 6.265625 11.796875 \nQ 3.421875 17.921875 3.421875 25.875 \nQ 3.421875 33.640625 6 39.96875 \nQ 8.59375 46.296875 13.765625 49.65625 \nQ 18.953125 53.03125 25.34375 53.03125 \nQ 30.03125 53.03125 33.6875 51.046875 \nQ 37.359375 49.078125 39.65625 45.90625 \nL 39.65625 71.578125 \nL 48.390625 71.578125 \nL 48.390625 0 \nz\nM 12.453125 25.875 \nQ 12.453125 15.921875 16.640625 10.984375 \nQ 20.84375 6.0625 26.5625 6.0625 \nQ 32.328125 6.0625 36.34375 10.765625 \nQ 40.375 15.484375 40.375 25.140625 \nQ 40.375 35.796875 36.265625 40.765625 \nQ 32.171875 45.75 26.171875 45.75 \nQ 20.3125 45.75 16.375 40.96875 \nQ 12.453125 36.1875 12.453125 25.875 \nz\n\" id=\"ArialMT-100\"/>\n     </defs>\n     <g style=\"fill:#262626;\" transform=\"translate(85.834922 181.094688)scale(0.12 -0.12)\">\n      <use xlink:href=\"#ArialMT-103\"/>\n      <use x=\"55.615234\" xlink:href=\"#ArialMT-101\"/>\n      <use x=\"111.230469\" xlink:href=\"#ArialMT-110\"/>\n      <use x=\"166.845703\" xlink:href=\"#ArialMT-100\"/>\n      <use x=\"222.460938\" xlink:href=\"#ArialMT-101\"/>\n      <use x=\"278.076172\" xlink:href=\"#ArialMT-114\"/>\n     </g>\n    </g>\n    <g id=\"line2d_16\">\n     <path d=\"M 84.534219 193.143906 \nL 106.534219 193.143906 \n\" style=\"fill:none;stroke:#4c72b0;stroke-linecap:round;stroke-width:1.5;\"/>\n    </g>\n    <g id=\"line2d_17\"/>\n    <g id=\"text_17\">\n     <!-- F -->\n     <defs>\n      <path d=\"M 8.203125 0 \nL 8.203125 71.578125 \nL 56.5 71.578125 \nL 56.5 63.140625 \nL 17.671875 63.140625 \nL 17.671875 40.96875 \nL 51.265625 40.96875 \nL 51.265625 32.515625 \nL 17.671875 32.515625 \nL 17.671875 0 \nz\n\" id=\"ArialMT-70\"/>\n     </defs>\n     <g style=\"fill:#262626;\" transform=\"translate(115.334219 196.993906)scale(0.11 -0.11)\">\n      <use xlink:href=\"#ArialMT-70\"/>\n     </g>\n    </g>\n    <g id=\"line2d_18\">\n     <path d=\"M 84.534219 208.70375 \nL 106.534219 208.70375 \n\" style=\"fill:none;stroke:#dd8452;stroke-linecap:round;stroke-width:1.5;\"/>\n    </g>\n    <g id=\"line2d_19\"/>\n    <g id=\"text_18\">\n     <!-- M -->\n     <defs>\n      <path d=\"M 7.421875 0 \nL 7.421875 71.578125 \nL 21.6875 71.578125 \nL 38.625 20.90625 \nQ 40.96875 13.8125 42.046875 10.296875 \nQ 43.265625 14.203125 45.84375 21.78125 \nL 62.984375 71.578125 \nL 75.734375 71.578125 \nL 75.734375 0 \nL 66.609375 0 \nL 66.609375 59.90625 \nL 45.796875 0 \nL 37.25 0 \nL 16.546875 60.9375 \nL 16.546875 0 \nz\n\" id=\"ArialMT-77\"/>\n     </defs>\n     <g style=\"fill:#262626;\" transform=\"translate(115.334219 212.55375)scale(0.11 -0.11)\">\n      <use xlink:href=\"#ArialMT-77\"/>\n     </g>\n    </g>\n   </g>\n  </g>\n </g>\n <defs>\n  <clipPath id=\"p81585ee5c3\">\n   <rect height=\"217.44\" width=\"334.8\" x=\"74.634219\" y=\"7.2\"/>\n  </clipPath>\n </defs>\n</svg>\n",
      "image/png": "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\n"
     },
     "metadata": {}
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "sns.set()\n",
    "births.pivot_table('births', index='year', columns='gender', aggfunc='sum').plot()\n",
    "plt.ylabel('total births per year');"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "            year  month  day gender  births\n1969-01-01  1969      1    1      F    4046\n1969-01-01  1969      1    1      M    4440\n1969-01-02  1969      1    2      F    4454\n1969-01-02  1969      1    2      M    4548\n1969-01-03  1969      1    3      F    4548",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>year</th>\n      <th>month</th>\n      <th>day</th>\n      <th>gender</th>\n      <th>births</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>1969-01-01</th>\n      <td>1969</td>\n      <td>1</td>\n      <td>1</td>\n      <td>F</td>\n      <td>4046</td>\n    </tr>\n    <tr>\n      <th>1969-01-01</th>\n      <td>1969</td>\n      <td>1</td>\n      <td>1</td>\n      <td>M</td>\n      <td>4440</td>\n    </tr>\n    <tr>\n      <th>1969-01-02</th>\n      <td>1969</td>\n      <td>1</td>\n      <td>2</td>\n      <td>F</td>\n      <td>4454</td>\n    </tr>\n    <tr>\n      <th>1969-01-02</th>\n      <td>1969</td>\n      <td>1</td>\n      <td>2</td>\n      <td>M</td>\n      <td>4548</td>\n    </tr>\n    <tr>\n      <th>1969-01-03</th>\n      <td>1969</td>\n      <td>1</td>\n      <td>3</td>\n      <td>F</td>\n      <td>4548</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 7
    }
   ],
   "source": [
    "births.index = pd.to_datetime(10000*births.year+100 * births.month + births.day, format='%Y%m%d')\n",
    "births.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 167,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "            year  month  day gender  births  decade   MD\n1969-01-01  1969      1    1      F    4046    1960  101\n1969-01-01  1969      1    1      M    4440    1960  101\n1969-01-02  1969      1    2      F    4454    1960  102\n1969-01-02  1969      1    2      M    4548    1960  102\n1969-01-03  1969      1    3      F    4548    1960  103",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>year</th>\n      <th>month</th>\n      <th>day</th>\n      <th>gender</th>\n      <th>births</th>\n      <th>decade</th>\n      <th>MD</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>1969-01-01</th>\n      <td>1969</td>\n      <td>1</td>\n      <td>1</td>\n      <td>F</td>\n      <td>4046</td>\n      <td>1960</td>\n      <td>101</td>\n    </tr>\n    <tr>\n      <th>1969-01-01</th>\n      <td>1969</td>\n      <td>1</td>\n      <td>1</td>\n      <td>M</td>\n      <td>4440</td>\n      <td>1960</td>\n      <td>101</td>\n    </tr>\n    <tr>\n      <th>1969-01-02</th>\n      <td>1969</td>\n      <td>1</td>\n      <td>2</td>\n      <td>F</td>\n      <td>4454</td>\n      <td>1960</td>\n      <td>102</td>\n    </tr>\n    <tr>\n      <th>1969-01-02</th>\n      <td>1969</td>\n      <td>1</td>\n      <td>2</td>\n      <td>M</td>\n      <td>4548</td>\n      <td>1960</td>\n      <td>102</td>\n    </tr>\n    <tr>\n      <th>1969-01-03</th>\n      <td>1969</td>\n      <td>1</td>\n      <td>3</td>\n      <td>F</td>\n      <td>4548</td>\n      <td>1960</td>\n      <td>103</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 167
    }
   ],
   "source": [
    "births['MD'] = births['month'] * 100 + births['day']\n",
    "births.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 172,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "1969-01-01      (100, 119]\n1969-01-01      (100, 119]\n1969-01-02      (100, 119]\n1969-01-02      (100, 119]\n1969-01-03      (100, 119]\n                  ...     \n1988-12-29    (1221, 1231]\n1988-12-30    (1221, 1231]\n1988-12-30    (1221, 1231]\n1988-12-31    (1221, 1231]\n1988-12-31    (1221, 1231]\nName: MD, Length: 14610, dtype: category\nCategories (13, interval[int64]): [(100, 119] < (119, 218] < (218, 320] < (320, 419] ... (922, 1023] < (1023, 1122] < (1122, 1221] < (1221, 1231]]"
     },
     "metadata": {},
     "execution_count": 172
    }
   ],
   "source": [
    "sep = pd.cut(births['MD'],[100,119,218,320,419,520,621,722,822,922,1023,1122,1221,1231])\n",
    "sep"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 178,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "摩羯座    3499243\n水瓶座    5674313\n双鱼座    5746894\n白羊座    5597940\n金牛座    5758244\n双子座    6063136\n巨蟹座    6148640\n狮子座    6308889\n室女座    6357295\n天秤座    6206383\n天蝎座    5736981\n射手座    5526395\n摩羯座    1861155\nName: births, dtype: int64"
     },
     "metadata": {},
     "execution_count": 178
    }
   ],
   "source": [
    "MD = births.groupby(sep)['births'].sum()\n",
    "MD.index=['摩羯座','水瓶座','双鱼座','白羊座','金牛座','双子座','巨蟹座','狮子座','室女座','天秤座','天蝎座','射手座','摩羯座']\n",
    "MD"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "              births\n2012-01-01  4009.225\n2012-01-02  4247.400\n2012-01-03  4500.900\n2012-01-04  4571.350\n2012-01-05  4603.625\n...              ...\n2012-12-27  4850.150\n2012-12-28  5044.200\n2012-12-29  5120.150\n2012-12-30  5172.350\n2012-12-31  4859.200\n\n[366 rows x 1 columns]",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>births</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>2012-01-01</th>\n      <td>4009.225</td>\n    </tr>\n    <tr>\n      <th>2012-01-02</th>\n      <td>4247.400</td>\n    </tr>\n    <tr>\n      <th>2012-01-03</th>\n      <td>4500.900</td>\n    </tr>\n    <tr>\n      <th>2012-01-04</th>\n      <td>4571.350</td>\n    </tr>\n    <tr>\n      <th>2012-01-05</th>\n      <td>4603.625</td>\n    </tr>\n    <tr>\n      <th>...</th>\n      <td>...</td>\n    </tr>\n    <tr>\n      <th>2012-12-27</th>\n      <td>4850.150</td>\n    </tr>\n    <tr>\n      <th>2012-12-28</th>\n      <td>5044.200</td>\n    </tr>\n    <tr>\n      <th>2012-12-29</th>\n      <td>5120.150</td>\n    </tr>\n    <tr>\n      <th>2012-12-30</th>\n      <td>5172.350</td>\n    </tr>\n    <tr>\n      <th>2012-12-31</th>\n      <td>4859.200</td>\n    </tr>\n  </tbody>\n</table>\n<p>366 rows × 1 columns</p>\n</div>"
     },
     "metadata": {},
     "execution_count": 10
    }
   ],
   "source": [
    "births_by_date = births.pivot_table('births',[births.index.month, births.index.day])\n",
    "births_by_date.index = [pd.datetime(2012, month, day)\n",
    "for (month, day) in births_by_date.index]\n",
    "births_by_date"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x7fed94667910>"
     },
     "metadata": {},
     "execution_count": 11
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": "<Figure size 864x288 with 1 Axes>",
      "image/svg+xml": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n  \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n<!-- Created with matplotlib (https://matplotlib.org/) -->\n<svg height=\"259.715938pt\" version=\"1.1\" viewBox=\"0 0 716.45 259.715938\" width=\"716.45pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <defs>\n  <style type=\"text/css\">\n*{stroke-linecap:butt;stroke-linejoin:round;}\n  </style>\n </defs>\n <g id=\"figure_1\">\n  <g id=\"patch_1\">\n   <path d=\"M 0 259.715938 \nL 716.45 259.715938 \nL 716.45 0 \nL 0 0 \nz\n\" style=\"fill:none;\"/>\n  </g>\n  <g id=\"axes_1\">\n   <g id=\"patch_2\">\n    <path d=\"M 39.65 224.64 \nL 709.25 224.64 \nL 709.25 7.2 \nL 39.65 7.2 \nz\n\" style=\"fill:#ffffff;\"/>\n   </g>\n   <g id=\"matplotlib.axis_1\">\n    <g id=\"xtick_1\">\n     <g id=\"line2d_1\">\n      <defs>\n       <path d=\"M 0 0 \nL 0 3.5 \n\" id=\"m08f206fb38\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n      </defs>\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"39.65\" xlink:href=\"#m08f206fb38\" y=\"224.64\"/>\n      </g>\n     </g>\n     <g id=\"text_1\">\n      <!-- Jan -->\n      <defs>\n       <path d=\"M 9.8125 72.90625 \nL 19.671875 72.90625 \nL 19.671875 5.078125 \nQ 19.671875 -8.109375 14.671875 -14.0625 \nQ 9.671875 -20.015625 -1.421875 -20.015625 \nL -5.171875 -20.015625 \nL -5.171875 -11.71875 \nL -2.09375 -11.71875 \nQ 4.4375 -11.71875 7.125 -8.046875 \nQ 9.8125 -4.390625 9.8125 5.078125 \nz\n\" id=\"DejaVuSans-74\"/>\n       <path d=\"M 34.28125 27.484375 \nQ 23.390625 27.484375 19.1875 25 \nQ 14.984375 22.515625 14.984375 16.5 \nQ 14.984375 11.71875 18.140625 8.90625 \nQ 21.296875 6.109375 26.703125 6.109375 \nQ 34.1875 6.109375 38.703125 11.40625 \nQ 43.21875 16.703125 43.21875 25.484375 \nL 43.21875 27.484375 \nz\nM 52.203125 31.203125 \nL 52.203125 0 \nL 43.21875 0 \nL 43.21875 8.296875 \nQ 40.140625 3.328125 35.546875 0.953125 \nQ 30.953125 -1.421875 24.3125 -1.421875 \nQ 15.921875 -1.421875 10.953125 3.296875 \nQ 6 8.015625 6 15.921875 \nQ 6 25.140625 12.171875 29.828125 \nQ 18.359375 34.515625 30.609375 34.515625 \nL 43.21875 34.515625 \nL 43.21875 35.40625 \nQ 43.21875 41.609375 39.140625 45 \nQ 35.0625 48.390625 27.6875 48.390625 \nQ 23 48.390625 18.546875 47.265625 \nQ 14.109375 46.140625 10.015625 43.890625 \nL 10.015625 52.203125 \nQ 14.9375 54.109375 19.578125 55.046875 \nQ 24.21875 56 28.609375 56 \nQ 40.484375 56 46.34375 49.84375 \nQ 52.203125 43.703125 52.203125 31.203125 \nz\n\" id=\"DejaVuSans-97\"/>\n       <path d=\"M 54.890625 33.015625 \nL 54.890625 0 \nL 45.90625 0 \nL 45.90625 32.71875 \nQ 45.90625 40.484375 42.875 44.328125 \nQ 39.84375 48.1875 33.796875 48.1875 \nQ 26.515625 48.1875 22.3125 43.546875 \nQ 18.109375 38.921875 18.109375 30.90625 \nL 18.109375 0 \nL 9.078125 0 \nL 9.078125 54.6875 \nL 18.109375 54.6875 \nL 18.109375 46.1875 \nQ 21.34375 51.125 25.703125 53.5625 \nQ 30.078125 56 35.796875 56 \nQ 45.21875 56 50.046875 50.171875 \nQ 54.890625 44.34375 54.890625 33.015625 \nz\n\" id=\"DejaVuSans-110\"/>\n      </defs>\n      <g transform=\"translate(31.942188 239.238438)scale(0.1 -0.1)\">\n       <use xlink:href=\"#DejaVuSans-74\"/>\n       <use x=\"29.492188\" xlink:href=\"#DejaVuSans-97\"/>\n       <use x=\"90.771484\" xlink:href=\"#DejaVuSans-110\"/>\n      </g>\n      <!-- 2012 -->\n      <defs>\n       <path d=\"M 19.1875 8.296875 \nL 53.609375 8.296875 \nL 53.609375 0 \nL 7.328125 0 \nL 7.328125 8.296875 \nQ 12.9375 14.109375 22.625 23.890625 \nQ 32.328125 33.6875 34.8125 36.53125 \nQ 39.546875 41.84375 41.421875 45.53125 \nQ 43.3125 49.21875 43.3125 52.78125 \nQ 43.3125 58.59375 39.234375 62.25 \nQ 35.15625 65.921875 28.609375 65.921875 \nQ 23.96875 65.921875 18.8125 64.3125 \nQ 13.671875 62.703125 7.8125 59.421875 \nL 7.8125 69.390625 \nQ 13.765625 71.78125 18.9375 73 \nQ 24.125 74.21875 28.421875 74.21875 \nQ 39.75 74.21875 46.484375 68.546875 \nQ 53.21875 62.890625 53.21875 53.421875 \nQ 53.21875 48.921875 51.53125 44.890625 \nQ 49.859375 40.875 45.40625 35.40625 \nQ 44.1875 33.984375 37.640625 27.21875 \nQ 31.109375 20.453125 19.1875 8.296875 \nz\n\" id=\"DejaVuSans-50\"/>\n       <path d=\"M 31.78125 66.40625 \nQ 24.171875 66.40625 20.328125 58.90625 \nQ 16.5 51.421875 16.5 36.375 \nQ 16.5 21.390625 20.328125 13.890625 \nQ 24.171875 6.390625 31.78125 6.390625 \nQ 39.453125 6.390625 43.28125 13.890625 \nQ 47.125 21.390625 47.125 36.375 \nQ 47.125 51.421875 43.28125 58.90625 \nQ 39.453125 66.40625 31.78125 66.40625 \nz\nM 31.78125 74.21875 \nQ 44.046875 74.21875 50.515625 64.515625 \nQ 56.984375 54.828125 56.984375 36.375 \nQ 56.984375 17.96875 50.515625 8.265625 \nQ 44.046875 -1.421875 31.78125 -1.421875 \nQ 19.53125 -1.421875 13.0625 8.265625 \nQ 6.59375 17.96875 6.59375 36.375 \nQ 6.59375 54.828125 13.0625 64.515625 \nQ 19.53125 74.21875 31.78125 74.21875 \nz\n\" id=\"DejaVuSans-48\"/>\n       <path d=\"M 12.40625 8.296875 \nL 28.515625 8.296875 \nL 28.515625 63.921875 \nL 10.984375 60.40625 \nL 10.984375 69.390625 \nL 28.421875 72.90625 \nL 38.28125 72.90625 \nL 38.28125 8.296875 \nL 54.390625 8.296875 \nL 54.390625 0 \nL 12.40625 0 \nz\n\" id=\"DejaVuSans-49\"/>\n      </defs>\n      <g transform=\"translate(26.925 250.43625)scale(0.1 -0.1)\">\n       <use xlink:href=\"#DejaVuSans-50\"/>\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-49\"/>\n       <use x=\"190.869141\" xlink:href=\"#DejaVuSans-50\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_2\">\n     <g id=\"line2d_2\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"96.520137\" xlink:href=\"#m08f206fb38\" y=\"224.64\"/>\n      </g>\n     </g>\n     <g id=\"text_2\">\n      <!-- Feb -->\n      <defs>\n       <path d=\"M 9.8125 72.90625 \nL 51.703125 72.90625 \nL 51.703125 64.59375 \nL 19.671875 64.59375 \nL 19.671875 43.109375 \nL 48.578125 43.109375 \nL 48.578125 34.8125 \nL 19.671875 34.8125 \nL 19.671875 0 \nL 9.8125 0 \nz\n\" id=\"DejaVuSans-70\"/>\n       <path d=\"M 56.203125 29.59375 \nL 56.203125 25.203125 \nL 14.890625 25.203125 \nQ 15.484375 15.921875 20.484375 11.0625 \nQ 25.484375 6.203125 34.421875 6.203125 \nQ 39.59375 6.203125 44.453125 7.46875 \nQ 49.3125 8.734375 54.109375 11.28125 \nL 54.109375 2.78125 \nQ 49.265625 0.734375 44.1875 -0.34375 \nQ 39.109375 -1.421875 33.890625 -1.421875 \nQ 20.796875 -1.421875 13.15625 6.1875 \nQ 5.515625 13.8125 5.515625 26.8125 \nQ 5.515625 40.234375 12.765625 48.109375 \nQ 20.015625 56 32.328125 56 \nQ 43.359375 56 49.78125 48.890625 \nQ 56.203125 41.796875 56.203125 29.59375 \nz\nM 47.21875 32.234375 \nQ 47.125 39.59375 43.09375 43.984375 \nQ 39.0625 48.390625 32.421875 48.390625 \nQ 24.90625 48.390625 20.390625 44.140625 \nQ 15.875 39.890625 15.1875 32.171875 \nz\n\" id=\"DejaVuSans-101\"/>\n       <path d=\"M 48.6875 27.296875 \nQ 48.6875 37.203125 44.609375 42.84375 \nQ 40.53125 48.484375 33.40625 48.484375 \nQ 26.265625 48.484375 22.1875 42.84375 \nQ 18.109375 37.203125 18.109375 27.296875 \nQ 18.109375 17.390625 22.1875 11.75 \nQ 26.265625 6.109375 33.40625 6.109375 \nQ 40.53125 6.109375 44.609375 11.75 \nQ 48.6875 17.390625 48.6875 27.296875 \nz\nM 18.109375 46.390625 \nQ 20.953125 51.265625 25.265625 53.625 \nQ 29.59375 56 35.59375 56 \nQ 45.5625 56 51.78125 48.09375 \nQ 58.015625 40.1875 58.015625 27.296875 \nQ 58.015625 14.40625 51.78125 6.484375 \nQ 45.5625 -1.421875 35.59375 -1.421875 \nQ 29.59375 -1.421875 25.265625 0.953125 \nQ 20.953125 3.328125 18.109375 8.203125 \nL 18.109375 0 \nL 9.078125 0 \nL 9.078125 75.984375 \nL 18.109375 75.984375 \nz\n\" id=\"DejaVuSans-98\"/>\n      </defs>\n      <g transform=\"translate(87.397481 239.238438)scale(0.1 -0.1)\">\n       <use xlink:href=\"#DejaVuSans-70\"/>\n       <use x=\"57.441406\" xlink:href=\"#DejaVuSans-101\"/>\n       <use x=\"118.964844\" xlink:href=\"#DejaVuSans-98\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_3\">\n     <g id=\"line2d_3\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"149.721233\" xlink:href=\"#m08f206fb38\" y=\"224.64\"/>\n      </g>\n     </g>\n     <g id=\"text_3\">\n      <!-- Mar -->\n      <defs>\n       <path d=\"M 9.8125 72.90625 \nL 24.515625 72.90625 \nL 43.109375 23.296875 \nL 61.8125 72.90625 \nL 76.515625 72.90625 \nL 76.515625 0 \nL 66.890625 0 \nL 66.890625 64.015625 \nL 48.09375 14.015625 \nL 38.1875 14.015625 \nL 19.390625 64.015625 \nL 19.390625 0 \nL 9.8125 0 \nz\n\" id=\"DejaVuSans-77\"/>\n       <path d=\"M 41.109375 46.296875 \nQ 39.59375 47.171875 37.8125 47.578125 \nQ 36.03125 48 33.890625 48 \nQ 26.265625 48 22.1875 43.046875 \nQ 18.109375 38.09375 18.109375 28.8125 \nL 18.109375 0 \nL 9.078125 0 \nL 9.078125 54.6875 \nL 18.109375 54.6875 \nL 18.109375 46.1875 \nQ 20.953125 51.171875 25.484375 53.578125 \nQ 30.03125 56 36.53125 56 \nQ 37.453125 56 38.578125 55.875 \nQ 39.703125 55.765625 41.0625 55.515625 \nz\n\" id=\"DejaVuSans-114\"/>\n      </defs>\n      <g transform=\"translate(140.287639 239.238438)scale(0.1 -0.1)\">\n       <use xlink:href=\"#DejaVuSans-77\"/>\n       <use x=\"86.279297\" xlink:href=\"#DejaVuSans-97\"/>\n       <use x=\"147.558594\" xlink:href=\"#DejaVuSans-114\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_4\">\n     <g id=\"line2d_4\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"206.59137\" xlink:href=\"#m08f206fb38\" y=\"224.64\"/>\n      </g>\n     </g>\n     <g id=\"text_4\">\n      <!-- Apr -->\n      <defs>\n       <path d=\"M 34.1875 63.1875 \nL 20.796875 26.90625 \nL 47.609375 26.90625 \nz\nM 28.609375 72.90625 \nL 39.796875 72.90625 \nL 67.578125 0 \nL 57.328125 0 \nL 50.6875 18.703125 \nL 17.828125 18.703125 \nL 11.1875 0 \nL 0.78125 0 \nz\n\" id=\"DejaVuSans-65\"/>\n       <path d=\"M 18.109375 8.203125 \nL 18.109375 -20.796875 \nL 9.078125 -20.796875 \nL 9.078125 54.6875 \nL 18.109375 54.6875 \nL 18.109375 46.390625 \nQ 20.953125 51.265625 25.265625 53.625 \nQ 29.59375 56 35.59375 56 \nQ 45.5625 56 51.78125 48.09375 \nQ 58.015625 40.1875 58.015625 27.296875 \nQ 58.015625 14.40625 51.78125 6.484375 \nQ 45.5625 -1.421875 35.59375 -1.421875 \nQ 29.59375 -1.421875 25.265625 0.953125 \nQ 20.953125 3.328125 18.109375 8.203125 \nz\nM 48.6875 27.296875 \nQ 48.6875 37.203125 44.609375 42.84375 \nQ 40.53125 48.484375 33.40625 48.484375 \nQ 26.265625 48.484375 22.1875 42.84375 \nQ 18.109375 37.203125 18.109375 27.296875 \nQ 18.109375 17.390625 22.1875 11.75 \nQ 26.265625 6.109375 33.40625 6.109375 \nQ 40.53125 6.109375 44.609375 11.75 \nQ 48.6875 17.390625 48.6875 27.296875 \nz\n\" id=\"DejaVuSans-112\"/>\n      </defs>\n      <g transform=\"translate(197.94137 239.238438)scale(0.1 -0.1)\">\n       <use xlink:href=\"#DejaVuSans-65\"/>\n       <use x=\"68.408203\" xlink:href=\"#DejaVuSans-112\"/>\n       <use x=\"131.884766\" xlink:href=\"#DejaVuSans-114\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_5\">\n     <g id=\"line2d_5\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"261.626986\" xlink:href=\"#m08f206fb38\" y=\"224.64\"/>\n      </g>\n     </g>\n     <g id=\"text_5\">\n      <!-- May -->\n      <defs>\n       <path d=\"M 32.171875 -5.078125 \nQ 28.375 -14.84375 24.75 -17.8125 \nQ 21.140625 -20.796875 15.09375 -20.796875 \nL 7.90625 -20.796875 \nL 7.90625 -13.28125 \nL 13.1875 -13.28125 \nQ 16.890625 -13.28125 18.9375 -11.515625 \nQ 21 -9.765625 23.484375 -3.21875 \nL 25.09375 0.875 \nL 2.984375 54.6875 \nL 12.5 54.6875 \nL 29.59375 11.921875 \nL 46.6875 54.6875 \nL 56.203125 54.6875 \nz\n\" id=\"DejaVuSans-121\"/>\n      </defs>\n      <g transform=\"translate(251.289486 239.238438)scale(0.1 -0.1)\">\n       <use xlink:href=\"#DejaVuSans-77\"/>\n       <use x=\"86.279297\" xlink:href=\"#DejaVuSans-97\"/>\n       <use x=\"147.558594\" xlink:href=\"#DejaVuSans-121\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_6\">\n     <g id=\"line2d_6\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"318.497123\" xlink:href=\"#m08f206fb38\" y=\"224.64\"/>\n      </g>\n     </g>\n     <g id=\"text_6\">\n      <!-- Jun -->\n      <defs>\n       <path d=\"M 8.5 21.578125 \nL 8.5 54.6875 \nL 17.484375 54.6875 \nL 17.484375 21.921875 \nQ 17.484375 14.15625 20.5 10.265625 \nQ 23.53125 6.390625 29.59375 6.390625 \nQ 36.859375 6.390625 41.078125 11.03125 \nQ 45.3125 15.671875 45.3125 23.6875 \nL 45.3125 54.6875 \nL 54.296875 54.6875 \nL 54.296875 0 \nL 45.3125 0 \nL 45.3125 8.40625 \nQ 42.046875 3.421875 37.71875 1 \nQ 33.40625 -1.421875 27.6875 -1.421875 \nQ 18.265625 -1.421875 13.375 4.4375 \nQ 8.5 10.296875 8.5 21.578125 \nz\nM 31.109375 56 \nz\n\" id=\"DejaVuSans-117\"/>\n      </defs>\n      <g transform=\"translate(310.684623 239.238438)scale(0.1 -0.1)\">\n       <use xlink:href=\"#DejaVuSans-74\"/>\n       <use x=\"29.492188\" xlink:href=\"#DejaVuSans-117\"/>\n       <use x=\"92.871094\" xlink:href=\"#DejaVuSans-110\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_7\">\n     <g id=\"line2d_7\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"373.53274\" xlink:href=\"#m08f206fb38\" y=\"224.64\"/>\n      </g>\n     </g>\n     <g id=\"text_7\">\n      <!-- Jul -->\n      <defs>\n       <path d=\"M 9.421875 75.984375 \nL 18.40625 75.984375 \nL 18.40625 0 \nL 9.421875 0 \nz\n\" id=\"DejaVuSans-108\"/>\n      </defs>\n      <g transform=\"translate(367.499927 239.238438)scale(0.1 -0.1)\">\n       <use xlink:href=\"#DejaVuSans-74\"/>\n       <use x=\"29.492188\" xlink:href=\"#DejaVuSans-117\"/>\n       <use x=\"92.871094\" xlink:href=\"#DejaVuSans-108\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_8\">\n     <g id=\"line2d_8\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"430.402877\" xlink:href=\"#m08f206fb38\" y=\"224.64\"/>\n      </g>\n     </g>\n     <g id=\"text_8\">\n      <!-- Aug -->\n      <defs>\n       <path d=\"M 45.40625 27.984375 \nQ 45.40625 37.75 41.375 43.109375 \nQ 37.359375 48.484375 30.078125 48.484375 \nQ 22.859375 48.484375 18.828125 43.109375 \nQ 14.796875 37.75 14.796875 27.984375 \nQ 14.796875 18.265625 18.828125 12.890625 \nQ 22.859375 7.515625 30.078125 7.515625 \nQ 37.359375 7.515625 41.375 12.890625 \nQ 45.40625 18.265625 45.40625 27.984375 \nz\nM 54.390625 6.78125 \nQ 54.390625 -7.171875 48.1875 -13.984375 \nQ 42 -20.796875 29.203125 -20.796875 \nQ 24.46875 -20.796875 20.265625 -20.09375 \nQ 16.0625 -19.390625 12.109375 -17.921875 \nL 12.109375 -9.1875 \nQ 16.0625 -11.328125 19.921875 -12.34375 \nQ 23.78125 -13.375 27.78125 -13.375 \nQ 36.625 -13.375 41.015625 -8.765625 \nQ 45.40625 -4.15625 45.40625 5.171875 \nL 45.40625 9.625 \nQ 42.625 4.78125 38.28125 2.390625 \nQ 33.9375 0 27.875 0 \nQ 17.828125 0 11.671875 7.65625 \nQ 5.515625 15.328125 5.515625 27.984375 \nQ 5.515625 40.671875 11.671875 48.328125 \nQ 17.828125 56 27.875 56 \nQ 33.9375 56 38.28125 53.609375 \nQ 42.625 51.21875 45.40625 46.390625 \nL 45.40625 54.6875 \nL 54.390625 54.6875 \nz\n\" id=\"DejaVuSans-103\"/>\n      </defs>\n      <g transform=\"translate(420.639595 239.238438)scale(0.1 -0.1)\">\n       <use xlink:href=\"#DejaVuSans-65\"/>\n       <use x=\"68.408203\" xlink:href=\"#DejaVuSans-117\"/>\n       <use x=\"131.787109\" xlink:href=\"#DejaVuSans-103\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_9\">\n     <g id=\"line2d_9\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"487.273014\" xlink:href=\"#m08f206fb38\" y=\"224.64\"/>\n      </g>\n     </g>\n     <g id=\"text_9\">\n      <!-- Sep -->\n      <defs>\n       <path d=\"M 53.515625 70.515625 \nL 53.515625 60.890625 \nQ 47.90625 63.578125 42.921875 64.890625 \nQ 37.9375 66.21875 33.296875 66.21875 \nQ 25.25 66.21875 20.875 63.09375 \nQ 16.5 59.96875 16.5 54.203125 \nQ 16.5 49.359375 19.40625 46.890625 \nQ 22.3125 44.4375 30.421875 42.921875 \nL 36.375 41.703125 \nQ 47.40625 39.59375 52.65625 34.296875 \nQ 57.90625 29 57.90625 20.125 \nQ 57.90625 9.515625 50.796875 4.046875 \nQ 43.703125 -1.421875 29.984375 -1.421875 \nQ 24.8125 -1.421875 18.96875 -0.25 \nQ 13.140625 0.921875 6.890625 3.21875 \nL 6.890625 13.375 \nQ 12.890625 10.015625 18.65625 8.296875 \nQ 24.421875 6.59375 29.984375 6.59375 \nQ 38.421875 6.59375 43.015625 9.90625 \nQ 47.609375 13.234375 47.609375 19.390625 \nQ 47.609375 24.75 44.3125 27.78125 \nQ 41.015625 30.8125 33.5 32.328125 \nL 27.484375 33.5 \nQ 16.453125 35.6875 11.515625 40.375 \nQ 6.59375 45.0625 6.59375 53.421875 \nQ 6.59375 63.09375 13.40625 68.65625 \nQ 20.21875 74.21875 32.171875 74.21875 \nQ 37.3125 74.21875 42.625 73.28125 \nQ 47.953125 72.359375 53.515625 70.515625 \nz\n\" id=\"DejaVuSans-83\"/>\n      </defs>\n      <g transform=\"translate(477.848014 239.238438)scale(0.1 -0.1)\">\n       <use xlink:href=\"#DejaVuSans-83\"/>\n       <use x=\"63.476562\" xlink:href=\"#DejaVuSans-101\"/>\n       <use x=\"125\" xlink:href=\"#DejaVuSans-112\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_10\">\n     <g id=\"line2d_10\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"542.30863\" xlink:href=\"#m08f206fb38\" y=\"224.64\"/>\n      </g>\n     </g>\n     <g id=\"text_10\">\n      <!-- Oct -->\n      <defs>\n       <path d=\"M 39.40625 66.21875 \nQ 28.65625 66.21875 22.328125 58.203125 \nQ 16.015625 50.203125 16.015625 36.375 \nQ 16.015625 22.609375 22.328125 14.59375 \nQ 28.65625 6.59375 39.40625 6.59375 \nQ 50.140625 6.59375 56.421875 14.59375 \nQ 62.703125 22.609375 62.703125 36.375 \nQ 62.703125 50.203125 56.421875 58.203125 \nQ 50.140625 66.21875 39.40625 66.21875 \nz\nM 39.40625 74.21875 \nQ 54.734375 74.21875 63.90625 63.9375 \nQ 73.09375 53.65625 73.09375 36.375 \nQ 73.09375 19.140625 63.90625 8.859375 \nQ 54.734375 -1.421875 39.40625 -1.421875 \nQ 24.03125 -1.421875 14.8125 8.828125 \nQ 5.609375 19.09375 5.609375 36.375 \nQ 5.609375 53.65625 14.8125 63.9375 \nQ 24.03125 74.21875 39.40625 74.21875 \nz\n\" id=\"DejaVuSans-79\"/>\n       <path d=\"M 48.78125 52.59375 \nL 48.78125 44.1875 \nQ 44.96875 46.296875 41.140625 47.34375 \nQ 37.3125 48.390625 33.40625 48.390625 \nQ 24.65625 48.390625 19.8125 42.84375 \nQ 14.984375 37.3125 14.984375 27.296875 \nQ 14.984375 17.28125 19.8125 11.734375 \nQ 24.65625 6.203125 33.40625 6.203125 \nQ 37.3125 6.203125 41.140625 7.25 \nQ 44.96875 8.296875 48.78125 10.40625 \nL 48.78125 2.09375 \nQ 45.015625 0.34375 40.984375 -0.53125 \nQ 36.96875 -1.421875 32.421875 -1.421875 \nQ 20.0625 -1.421875 12.78125 6.34375 \nQ 5.515625 14.109375 5.515625 27.296875 \nQ 5.515625 40.671875 12.859375 48.328125 \nQ 20.21875 56 33.015625 56 \nQ 37.15625 56 41.109375 55.140625 \nQ 45.0625 54.296875 48.78125 52.59375 \nz\n\" id=\"DejaVuSans-99\"/>\n       <path d=\"M 18.3125 70.21875 \nL 18.3125 54.6875 \nL 36.8125 54.6875 \nL 36.8125 47.703125 \nL 18.3125 47.703125 \nL 18.3125 18.015625 \nQ 18.3125 11.328125 20.140625 9.421875 \nQ 21.96875 7.515625 27.59375 7.515625 \nL 36.8125 7.515625 \nL 36.8125 0 \nL 27.59375 0 \nQ 17.1875 0 13.234375 3.875 \nQ 9.28125 7.765625 9.28125 18.015625 \nL 9.28125 47.703125 \nL 2.6875 47.703125 \nL 2.6875 54.6875 \nL 9.28125 54.6875 \nL 9.28125 70.21875 \nz\n\" id=\"DejaVuSans-116\"/>\n      </defs>\n      <g transform=\"translate(533.663318 239.238438)scale(0.1 -0.1)\">\n       <use xlink:href=\"#DejaVuSans-79\"/>\n       <use x=\"78.710938\" xlink:href=\"#DejaVuSans-99\"/>\n       <use x=\"133.691406\" xlink:href=\"#DejaVuSans-116\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_11\">\n     <g id=\"line2d_11\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"599.178767\" xlink:href=\"#m08f206fb38\" y=\"224.64\"/>\n      </g>\n     </g>\n     <g id=\"text_11\">\n      <!-- Nov -->\n      <defs>\n       <path d=\"M 9.8125 72.90625 \nL 23.09375 72.90625 \nL 55.421875 11.921875 \nL 55.421875 72.90625 \nL 64.984375 72.90625 \nL 64.984375 0 \nL 51.703125 0 \nL 19.390625 60.984375 \nL 19.390625 0 \nL 9.8125 0 \nz\n\" id=\"DejaVuSans-78\"/>\n       <path d=\"M 30.609375 48.390625 \nQ 23.390625 48.390625 19.1875 42.75 \nQ 14.984375 37.109375 14.984375 27.296875 \nQ 14.984375 17.484375 19.15625 11.84375 \nQ 23.34375 6.203125 30.609375 6.203125 \nQ 37.796875 6.203125 41.984375 11.859375 \nQ 46.1875 17.53125 46.1875 27.296875 \nQ 46.1875 37.015625 41.984375 42.703125 \nQ 37.796875 48.390625 30.609375 48.390625 \nz\nM 30.609375 56 \nQ 42.328125 56 49.015625 48.375 \nQ 55.71875 40.765625 55.71875 27.296875 \nQ 55.71875 13.875 49.015625 6.21875 \nQ 42.328125 -1.421875 30.609375 -1.421875 \nQ 18.84375 -1.421875 12.171875 6.21875 \nQ 5.515625 13.875 5.515625 27.296875 \nQ 5.515625 40.765625 12.171875 48.375 \nQ 18.84375 56 30.609375 56 \nz\n\" id=\"DejaVuSans-111\"/>\n       <path d=\"M 2.984375 54.6875 \nL 12.5 54.6875 \nL 29.59375 8.796875 \nL 46.6875 54.6875 \nL 56.203125 54.6875 \nL 35.6875 0 \nL 23.484375 0 \nz\n\" id=\"DejaVuSans-118\"/>\n      </defs>\n      <g transform=\"translate(589.419392 239.238438)scale(0.1 -0.1)\">\n       <use xlink:href=\"#DejaVuSans-78\"/>\n       <use x=\"74.804688\" xlink:href=\"#DejaVuSans-111\"/>\n       <use x=\"135.986328\" xlink:href=\"#DejaVuSans-118\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_12\">\n     <g id=\"line2d_12\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"654.214384\" xlink:href=\"#m08f206fb38\" y=\"224.64\"/>\n      </g>\n     </g>\n     <g id=\"text_12\">\n      <!-- Dec -->\n      <defs>\n       <path d=\"M 19.671875 64.796875 \nL 19.671875 8.109375 \nL 31.59375 8.109375 \nQ 46.6875 8.109375 53.6875 14.9375 \nQ 60.6875 21.78125 60.6875 36.53125 \nQ 60.6875 51.171875 53.6875 57.984375 \nQ 46.6875 64.796875 31.59375 64.796875 \nz\nM 9.8125 72.90625 \nL 30.078125 72.90625 \nQ 51.265625 72.90625 61.171875 64.09375 \nQ 71.09375 55.28125 71.09375 36.53125 \nQ 71.09375 17.671875 61.125 8.828125 \nQ 51.171875 0 30.078125 0 \nL 9.8125 0 \nz\n\" id=\"DejaVuSans-68\"/>\n      </defs>\n      <g transform=\"translate(644.538602 239.238438)scale(0.1 -0.1)\">\n       <use xlink:href=\"#DejaVuSans-68\"/>\n       <use x=\"77.001953\" xlink:href=\"#DejaVuSans-101\"/>\n       <use x=\"138.525391\" xlink:href=\"#DejaVuSans-99\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_13\">\n     <g id=\"line2d_13\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"709.25\" xlink:href=\"#m08f206fb38\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_14\">\n     <g id=\"line2d_14\">\n      <defs>\n       <path d=\"M 0 0 \nL 0 2 \n\" id=\"m5c2c4c7d95\" style=\"stroke:#000000;stroke-width:0.6;\"/>\n      </defs>\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"41.484521\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_15\">\n     <g id=\"line2d_15\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"54.326164\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_16\">\n     <g id=\"line2d_16\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"67.167808\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_17\">\n     <g id=\"line2d_17\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"80.009452\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_18\">\n     <g id=\"line2d_18\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"92.851096\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_19\">\n     <g id=\"line2d_19\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"105.69274\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_20\">\n     <g id=\"line2d_20\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"118.534384\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_21\">\n     <g id=\"line2d_21\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"131.376027\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_22\">\n     <g id=\"line2d_22\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"144.217671\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_23\">\n     <g id=\"line2d_23\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"157.059315\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_24\">\n     <g id=\"line2d_24\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"169.900959\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_25\">\n     <g id=\"line2d_25\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"182.742603\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_26\">\n     <g id=\"line2d_26\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"195.584247\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_27\">\n     <g id=\"line2d_27\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"208.42589\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_28\">\n     <g id=\"line2d_28\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"221.267534\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_29\">\n     <g id=\"line2d_29\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"234.109178\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_30\">\n     <g id=\"line2d_30\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"246.950822\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_31\">\n     <g id=\"line2d_31\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"259.792466\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_32\">\n     <g id=\"line2d_32\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"272.63411\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_33\">\n     <g id=\"line2d_33\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"285.475753\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_34\">\n     <g id=\"line2d_34\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"298.317397\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_35\">\n     <g id=\"line2d_35\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"311.159041\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_36\">\n     <g id=\"line2d_36\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"324.000685\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_37\">\n     <g id=\"line2d_37\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"336.842329\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_38\">\n     <g id=\"line2d_38\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"349.683973\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_39\">\n     <g id=\"line2d_39\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"362.525616\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_40\">\n     <g id=\"line2d_40\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"375.36726\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_41\">\n     <g id=\"line2d_41\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"388.208904\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_42\">\n     <g id=\"line2d_42\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"401.050548\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_43\">\n     <g id=\"line2d_43\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"413.892192\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_44\">\n     <g id=\"line2d_44\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"426.733836\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_45\">\n     <g id=\"line2d_45\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"439.575479\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_46\">\n     <g id=\"line2d_46\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"452.417123\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_47\">\n     <g id=\"line2d_47\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"465.258767\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_48\">\n     <g id=\"line2d_48\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"478.100411\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_49\">\n     <g id=\"line2d_49\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"490.942055\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_50\">\n     <g id=\"line2d_50\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"503.783699\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_51\">\n     <g id=\"line2d_51\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"516.625342\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_52\">\n     <g id=\"line2d_52\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"529.466986\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_53\">\n     <g id=\"line2d_53\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"555.150274\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_54\">\n     <g id=\"line2d_54\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"567.991918\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_55\">\n     <g id=\"line2d_55\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"580.833562\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_56\">\n     <g id=\"line2d_56\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"593.675205\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_57\">\n     <g id=\"line2d_57\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"606.516849\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_58\">\n     <g id=\"line2d_58\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"619.358493\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_59\">\n     <g id=\"line2d_59\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"632.200137\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_60\">\n     <g id=\"line2d_60\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"645.041781\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_61\">\n     <g id=\"line2d_61\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"657.883425\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_62\">\n     <g id=\"line2d_62\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"670.725068\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_63\">\n     <g id=\"line2d_63\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"683.566712\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_64\">\n     <g id=\"line2d_64\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.6;\" x=\"696.408356\" xlink:href=\"#m5c2c4c7d95\" y=\"224.64\"/>\n      </g>\n     </g>\n    </g>\n   </g>\n   <g id=\"matplotlib.axis_2\">\n    <g id=\"ytick_1\">\n     <g id=\"line2d_65\">\n      <defs>\n       <path d=\"M 0 0 \nL -3.5 0 \n\" id=\"m77ad755d80\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n      </defs>\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"39.65\" xlink:href=\"#m77ad755d80\" y=\"220.699548\"/>\n      </g>\n     </g>\n     <g id=\"text_13\">\n      <!-- 3800 -->\n      <defs>\n       <path d=\"M 40.578125 39.3125 \nQ 47.65625 37.796875 51.625 33 \nQ 55.609375 28.21875 55.609375 21.1875 \nQ 55.609375 10.40625 48.1875 4.484375 \nQ 40.765625 -1.421875 27.09375 -1.421875 \nQ 22.515625 -1.421875 17.65625 -0.515625 \nQ 12.796875 0.390625 7.625 2.203125 \nL 7.625 11.71875 \nQ 11.71875 9.328125 16.59375 8.109375 \nQ 21.484375 6.890625 26.8125 6.890625 \nQ 36.078125 6.890625 40.9375 10.546875 \nQ 45.796875 14.203125 45.796875 21.1875 \nQ 45.796875 27.640625 41.28125 31.265625 \nQ 36.765625 34.90625 28.71875 34.90625 \nL 20.21875 34.90625 \nL 20.21875 43.015625 \nL 29.109375 43.015625 \nQ 36.375 43.015625 40.234375 45.921875 \nQ 44.09375 48.828125 44.09375 54.296875 \nQ 44.09375 59.90625 40.109375 62.90625 \nQ 36.140625 65.921875 28.71875 65.921875 \nQ 24.65625 65.921875 20.015625 65.03125 \nQ 15.375 64.15625 9.8125 62.3125 \nL 9.8125 71.09375 \nQ 15.4375 72.65625 20.34375 73.4375 \nQ 25.25 74.21875 29.59375 74.21875 \nQ 40.828125 74.21875 47.359375 69.109375 \nQ 53.90625 64.015625 53.90625 55.328125 \nQ 53.90625 49.265625 50.4375 45.09375 \nQ 46.96875 40.921875 40.578125 39.3125 \nz\n\" id=\"DejaVuSans-51\"/>\n       <path d=\"M 31.78125 34.625 \nQ 24.75 34.625 20.71875 30.859375 \nQ 16.703125 27.09375 16.703125 20.515625 \nQ 16.703125 13.921875 20.71875 10.15625 \nQ 24.75 6.390625 31.78125 6.390625 \nQ 38.8125 6.390625 42.859375 10.171875 \nQ 46.921875 13.96875 46.921875 20.515625 \nQ 46.921875 27.09375 42.890625 30.859375 \nQ 38.875 34.625 31.78125 34.625 \nz\nM 21.921875 38.8125 \nQ 15.578125 40.375 12.03125 44.71875 \nQ 8.5 49.078125 8.5 55.328125 \nQ 8.5 64.0625 14.71875 69.140625 \nQ 20.953125 74.21875 31.78125 74.21875 \nQ 42.671875 74.21875 48.875 69.140625 \nQ 55.078125 64.0625 55.078125 55.328125 \nQ 55.078125 49.078125 51.53125 44.71875 \nQ 48 40.375 41.703125 38.8125 \nQ 48.828125 37.15625 52.796875 32.3125 \nQ 56.78125 27.484375 56.78125 20.515625 \nQ 56.78125 9.90625 50.3125 4.234375 \nQ 43.84375 -1.421875 31.78125 -1.421875 \nQ 19.734375 -1.421875 13.25 4.234375 \nQ 6.78125 9.90625 6.78125 20.515625 \nQ 6.78125 27.484375 10.78125 32.3125 \nQ 14.796875 37.15625 21.921875 38.8125 \nz\nM 18.3125 54.390625 \nQ 18.3125 48.734375 21.84375 45.5625 \nQ 25.390625 42.390625 31.78125 42.390625 \nQ 38.140625 42.390625 41.71875 45.5625 \nQ 45.3125 48.734375 45.3125 54.390625 \nQ 45.3125 60.0625 41.71875 63.234375 \nQ 38.140625 66.40625 31.78125 66.40625 \nQ 25.390625 66.40625 21.84375 63.234375 \nQ 18.3125 60.0625 18.3125 54.390625 \nz\n\" id=\"DejaVuSans-56\"/>\n      </defs>\n      <g transform=\"translate(7.2 224.498767)scale(0.1 -0.1)\">\n       <use xlink:href=\"#DejaVuSans-51\"/>\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-56\"/>\n       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n       <use x=\"190.869141\" xlink:href=\"#DejaVuSans-48\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"ytick_2\">\n     <g id=\"line2d_66\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"39.65\" xlink:href=\"#m77ad755d80\" y=\"193.95856\"/>\n      </g>\n     </g>\n     <g id=\"text_14\">\n      <!-- 4000 -->\n      <defs>\n       <path d=\"M 37.796875 64.3125 \nL 12.890625 25.390625 \nL 37.796875 25.390625 \nz\nM 35.203125 72.90625 \nL 47.609375 72.90625 \nL 47.609375 25.390625 \nL 58.015625 25.390625 \nL 58.015625 17.1875 \nL 47.609375 17.1875 \nL 47.609375 0 \nL 37.796875 0 \nL 37.796875 17.1875 \nL 4.890625 17.1875 \nL 4.890625 26.703125 \nz\n\" id=\"DejaVuSans-52\"/>\n      </defs>\n      <g transform=\"translate(7.2 197.757779)scale(0.1 -0.1)\">\n       <use xlink:href=\"#DejaVuSans-52\"/>\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n       <use x=\"190.869141\" xlink:href=\"#DejaVuSans-48\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"ytick_3\">\n     <g id=\"line2d_67\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"39.65\" xlink:href=\"#m77ad755d80\" y=\"167.217572\"/>\n      </g>\n     </g>\n     <g id=\"text_15\">\n      <!-- 4200 -->\n      <g transform=\"translate(7.2 171.016791)scale(0.1 -0.1)\">\n       <use xlink:href=\"#DejaVuSans-52\"/>\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-50\"/>\n       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n       <use x=\"190.869141\" xlink:href=\"#DejaVuSans-48\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"ytick_4\">\n     <g id=\"line2d_68\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"39.65\" xlink:href=\"#m77ad755d80\" y=\"140.476584\"/>\n      </g>\n     </g>\n     <g id=\"text_16\">\n      <!-- 4400 -->\n      <g transform=\"translate(7.2 144.275802)scale(0.1 -0.1)\">\n       <use xlink:href=\"#DejaVuSans-52\"/>\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-52\"/>\n       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n       <use x=\"190.869141\" xlink:href=\"#DejaVuSans-48\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"ytick_5\">\n     <g id=\"line2d_69\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"39.65\" xlink:href=\"#m77ad755d80\" y=\"113.735596\"/>\n      </g>\n     </g>\n     <g id=\"text_17\">\n      <!-- 4600 -->\n      <defs>\n       <path d=\"M 33.015625 40.375 \nQ 26.375 40.375 22.484375 35.828125 \nQ 18.609375 31.296875 18.609375 23.390625 \nQ 18.609375 15.53125 22.484375 10.953125 \nQ 26.375 6.390625 33.015625 6.390625 \nQ 39.65625 6.390625 43.53125 10.953125 \nQ 47.40625 15.53125 47.40625 23.390625 \nQ 47.40625 31.296875 43.53125 35.828125 \nQ 39.65625 40.375 33.015625 40.375 \nz\nM 52.59375 71.296875 \nL 52.59375 62.3125 \nQ 48.875 64.0625 45.09375 64.984375 \nQ 41.3125 65.921875 37.59375 65.921875 \nQ 27.828125 65.921875 22.671875 59.328125 \nQ 17.53125 52.734375 16.796875 39.40625 \nQ 19.671875 43.65625 24.015625 45.921875 \nQ 28.375 48.1875 33.59375 48.1875 \nQ 44.578125 48.1875 50.953125 41.515625 \nQ 57.328125 34.859375 57.328125 23.390625 \nQ 57.328125 12.15625 50.6875 5.359375 \nQ 44.046875 -1.421875 33.015625 -1.421875 \nQ 20.359375 -1.421875 13.671875 8.265625 \nQ 6.984375 17.96875 6.984375 36.375 \nQ 6.984375 53.65625 15.1875 63.9375 \nQ 23.390625 74.21875 37.203125 74.21875 \nQ 40.921875 74.21875 44.703125 73.484375 \nQ 48.484375 72.75 52.59375 71.296875 \nz\n\" id=\"DejaVuSans-54\"/>\n      </defs>\n      <g transform=\"translate(7.2 117.534814)scale(0.1 -0.1)\">\n       <use xlink:href=\"#DejaVuSans-52\"/>\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-54\"/>\n       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n       <use x=\"190.869141\" xlink:href=\"#DejaVuSans-48\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"ytick_6\">\n     <g id=\"line2d_70\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"39.65\" xlink:href=\"#m77ad755d80\" y=\"86.994607\"/>\n      </g>\n     </g>\n     <g id=\"text_18\">\n      <!-- 4800 -->\n      <g transform=\"translate(7.2 90.793826)scale(0.1 -0.1)\">\n       <use xlink:href=\"#DejaVuSans-52\"/>\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-56\"/>\n       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n       <use x=\"190.869141\" xlink:href=\"#DejaVuSans-48\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"ytick_7\">\n     <g id=\"line2d_71\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"39.65\" xlink:href=\"#m77ad755d80\" y=\"60.253619\"/>\n      </g>\n     </g>\n     <g id=\"text_19\">\n      <!-- 5000 -->\n      <defs>\n       <path d=\"M 10.796875 72.90625 \nL 49.515625 72.90625 \nL 49.515625 64.59375 \nL 19.828125 64.59375 \nL 19.828125 46.734375 \nQ 21.96875 47.46875 24.109375 47.828125 \nQ 26.265625 48.1875 28.421875 48.1875 \nQ 40.625 48.1875 47.75 41.5 \nQ 54.890625 34.8125 54.890625 23.390625 \nQ 54.890625 11.625 47.5625 5.09375 \nQ 40.234375 -1.421875 26.90625 -1.421875 \nQ 22.3125 -1.421875 17.546875 -0.640625 \nQ 12.796875 0.140625 7.71875 1.703125 \nL 7.71875 11.625 \nQ 12.109375 9.234375 16.796875 8.0625 \nQ 21.484375 6.890625 26.703125 6.890625 \nQ 35.15625 6.890625 40.078125 11.328125 \nQ 45.015625 15.765625 45.015625 23.390625 \nQ 45.015625 31 40.078125 35.4375 \nQ 35.15625 39.890625 26.703125 39.890625 \nQ 22.75 39.890625 18.8125 39.015625 \nQ 14.890625 38.140625 10.796875 36.28125 \nz\n\" id=\"DejaVuSans-53\"/>\n      </defs>\n      <g transform=\"translate(7.2 64.052838)scale(0.1 -0.1)\">\n       <use xlink:href=\"#DejaVuSans-53\"/>\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n       <use x=\"190.869141\" xlink:href=\"#DejaVuSans-48\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"ytick_8\">\n     <g id=\"line2d_72\">\n      <g>\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"39.65\" xlink:href=\"#m77ad755d80\" y=\"33.512631\"/>\n      </g>\n     </g>\n     <g id=\"text_20\">\n      <!-- 5200 -->\n      <g transform=\"translate(7.2 37.31185)scale(0.1 -0.1)\">\n       <use xlink:href=\"#DejaVuSans-53\"/>\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-50\"/>\n       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n       <use x=\"190.869141\" xlink:href=\"#DejaVuSans-48\"/>\n      </g>\n     </g>\n    </g>\n   </g>\n   <g id=\"line2d_73\">\n    <path clip-path=\"url(#p736d87ae72)\" d=\"M 39.65 192.725132 \nL 41.484521 160.879958 \nL 43.319041 126.985755 \nL 45.153562 117.566242 \nL 46.988082 113.250915 \nL 48.822603 104.623604 \nL 50.657123 99.439195 \nL 52.491644 109.771244 \nL 54.326164 122.055385 \nL 56.160685 114.845347 \nL 57.995205 103.687669 \nL 59.829726 100.258137 \nL 61.664247 96.347268 \nL 63.498767 84.828587 \nL 65.333288 95.86593 \nL 67.167808 105.041432 \nL 69.002329 106.428621 \nL 70.836849 99.385713 \nL 72.67137 96.150053 \nL 74.50589 91.336675 \nL 76.340411 88.298231 \nL 78.174932 94.64253 \nL 80.009452 104.810791 \nL 81.843973 106.622493 \nL 83.678493 100.632511 \nL 85.513014 98.239193 \nL 87.347534 94.077627 \nL 89.182055 90.765087 \nL 91.016575 100.05758 \nL 92.851096 107.822495 \nL 94.685616 113.966237 \nL 96.520137 105.519427 \nL 98.354658 94.612446 \nL 100.189178 92.098793 \nL 102.023699 92.232498 \nL 103.858219 96.581252 \nL 105.69274 103.29324 \nL 107.52726 107.097145 \nL 109.361781 104.573464 \nL 111.196301 98.550057 \nL 113.030822 86.880958 \nL 114.865342 84.882069 \nL 116.699863 83.8258 \nL 118.534384 108.467621 \nL 120.368904 78.604622 \nL 122.203425 99.519418 \nL 124.037945 96.083201 \nL 125.872466 87.973996 \nL 127.706986 84.190146 \nL 129.541507 93.465926 \nL 131.376027 93.509381 \nL 133.210548 104.175692 \nL 135.045068 93.475954 \nL 136.879589 92.683753 \nL 138.71411 83.117164 \nL 140.54863 79.370083 \nL 142.383151 88.254776 \nL 144.217671 101.200757 \nL 146.052192 100.993515 \nL 147.886712 110.6069 \nL 149.721233 94.726096 \nL 151.555753 93.606317 \nL 153.390274 77.397935 \nL 155.224795 84.113266 \nL 157.059315 89.454778 \nL 158.893836 97.440306 \nL 160.728356 97.363426 \nL 162.562877 97.928329 \nL 164.397397 101.424713 \nL 166.231918 88.950042 \nL 168.066438 88.903245 \nL 169.900959 92.01857 \nL 171.735479 106.722771 \nL 173.57 97.821365 \nL 175.404521 104.372907 \nL 177.239041 99.873736 \nL 179.073562 83.177331 \nL 180.908082 90.537788 \nL 182.742603 93.930551 \nL 184.577123 98.179026 \nL 186.411644 97.306601 \nL 188.246164 104.750623 \nL 190.080685 100.739475 \nL 191.915205 97.015793 \nL 193.749726 90.517733 \nL 195.584247 97.313286 \nL 197.418767 102.925551 \nL 199.253288 101.080423 \nL 201.087808 105.041432 \nL 202.922329 105.25536 \nL 204.756849 97.256462 \nL 206.59137 110.550075 \nL 208.42589 94.505482 \nL 210.260411 106.659262 \nL 212.094932 103.10271 \nL 213.929452 115.497158 \nL 215.763973 108.006339 \nL 217.598493 101.722207 \nL 219.433014 98.7573 \nL 221.267534 107.067062 \nL 223.102055 112.308295 \nL 224.936575 112.405231 \nL 226.771096 114.965681 \nL 228.605616 119.153988 \nL 230.440137 103.022487 \nL 232.274658 99.977357 \nL 234.109178 106.187952 \nL 235.943699 113.147294 \nL 237.778219 109.25648 \nL 239.61274 116.048691 \nL 241.44726 114.902171 \nL 243.281781 106.191294 \nL 245.116301 102.143377 \nL 246.950822 107.889347 \nL 248.785342 116.255934 \nL 250.619863 113.434759 \nL 252.454384 115.273202 \nL 254.288904 117.486019 \nL 256.123425 106.174581 \nL 257.957945 111.964005 \nL 259.792466 111.716651 \nL 261.626986 106.879875 \nL 263.461507 111.502723 \nL 265.296027 117.71666 \nL 267.130548 116.810809 \nL 268.965068 102.063154 \nL 270.799589 103.17959 \nL 272.63411 105.853689 \nL 274.46863 110.560103 \nL 276.303151 112.552307 \nL 278.137671 110.636984 \nL 279.972192 106.756198 \nL 281.806712 100.492121 \nL 283.641233 105.492686 \nL 285.475753 104.255915 \nL 287.310274 103.236415 \nL 289.144795 105.519427 \nL 290.979315 110.162331 \nL 294.648356 97.457019 \nL 296.482877 86.068701 \nL 298.317397 96.915514 \nL 300.151918 98.560085 \nL 301.986438 97.543927 \nL 303.820959 101.819143 \nL 305.655479 105.455917 \nL 307.49 106.014135 \nL 309.324521 95.264258 \nL 311.159041 104.155637 \nL 312.993562 99.823596 \nL 314.828082 113.578492 \nL 316.662603 114.130025 \nL 318.497123 93.48264 \nL 320.331644 86.372879 \nL 322.166164 89.230822 \nL 325.835205 99.44588 \nL 327.669726 90.758401 \nL 329.504247 102.89881 \nL 331.338767 102.778476 \nL 333.173288 89.097118 \nL 335.007808 82.799615 \nL 336.842329 90.521075 \nL 338.676849 94.181248 \nL 340.51137 104.18572 \nL 342.34589 97.096016 \nL 344.180411 93.616345 \nL 346.014932 79.192924 \nL 347.849452 78.490973 \nL 351.518493 91.142803 \nL 353.353014 82.812985 \nL 355.187534 93.522751 \nL 357.022055 87.579566 \nL 358.856575 80.235823 \nL 360.691096 73.955033 \nL 362.525616 74.837486 \nL 364.360137 79.777883 \nL 366.194658 79.998496 \nL 368.029178 78.574539 \nL 369.863699 76.077599 \nL 371.698219 62.71379 \nL 373.53274 57.315453 \nL 375.36726 57.385648 \nL 377.201781 77.712142 \nL 379.036301 149.123951 \nL 380.870822 100.522205 \nL 382.705342 62.326046 \nL 384.539863 39.739939 \nL 386.374384 38.88757 \nL 388.208904 50.172267 \nL 390.043425 54.731605 \nL 391.877945 62.630224 \nL 393.712466 68.720485 \nL 395.546986 69.292073 \nL 397.381507 46.080895 \nL 399.216027 41.518214 \nL 404.719589 60.213508 \nL 406.55411 64.284823 \nL 408.38863 52.5589 \nL 410.223151 48.574493 \nL 412.057671 42.113201 \nL 413.892192 47.915996 \nL 415.726712 55.433556 \nL 417.561233 56.332722 \nL 419.395753 60.427436 \nL 421.230274 50.860847 \nL 423.064795 42.400667 \nL 424.899315 39.943839 \nL 426.733836 46.719337 \nL 428.568356 54.200128 \nL 430.402877 51.161683 \nL 432.237397 59.113785 \nL 434.071918 51.529372 \nL 435.906438 48.49427 \nL 437.740959 45.813486 \nL 439.575479 45.422399 \nL 441.41 49.199563 \nL 443.244521 39.719883 \nL 445.079041 56.539964 \nL 446.913562 49.10597 \nL 448.748082 46.318222 \nL 450.582603 36.504279 \nL 452.417123 50.051932 \nL 454.251644 47.317666 \nL 456.086164 46.014043 \nL 457.920685 53.862523 \nL 459.755205 50.239119 \nL 461.589726 40.465288 \nL 463.424247 39.743281 \nL 465.258767 41.387852 \nL 467.093288 49.263073 \nL 468.927808 52.385083 \nL 470.762329 59.310999 \nL 472.596849 55.547205 \nL 474.43137 45.85694 \nL 476.26589 37.858042 \nL 478.100411 43.580613 \nL 479.934932 46.913209 \nL 481.769452 51.963913 \nL 483.603973 56.529937 \nL 485.438493 53.748874 \nL 487.273014 72.51102 \nL 489.107534 62.660308 \nL 490.942055 59.728827 \nL 492.776575 58.461973 \nL 494.611096 66.323823 \nL 496.445616 66.270342 \nL 498.280137 60.861977 \nL 500.114658 38.128794 \nL 501.949178 25.035738 \nL 503.783699 31.573909 \nL 505.618219 39.937153 \nL 507.45274 38.750522 \nL 509.28726 50.376167 \nL 511.121781 32.941042 \nL 512.956301 26.112062 \nL 514.790822 17.083636 \nL 516.625342 22.60565 \nL 518.459863 27.271953 \nL 520.294384 25.289777 \nL 522.128904 27.058025 \nL 523.963425 23.899246 \nL 525.797945 17.892551 \nL 527.632466 17.411213 \nL 529.466986 22.274731 \nL 531.301507 28.164433 \nL 533.136027 26.740476 \nL 534.970548 34.829625 \nL 536.805068 37.731022 \nL 538.639589 30.995635 \nL 540.47411 30.200091 \nL 542.30863 37.88144 \nL 544.143151 46.398445 \nL 545.977671 51.245249 \nL 547.812192 59.561696 \nL 549.646712 56.900968 \nL 551.481233 53.822412 \nL 553.315753 57.03133 \nL 555.150274 61.607382 \nL 556.984795 67.550566 \nL 558.819315 63.46588 \nL 560.653836 79.724401 \nL 562.488356 74.503223 \nL 564.322877 78.186794 \nL 566.157397 69.07146 \nL 567.991918 71.023552 \nL 569.826438 83.190702 \nL 571.660959 84.474269 \nL 573.495479 93.462584 \nL 575.33 89.287647 \nL 577.164521 82.605743 \nL 578.999041 78.61465 \nL 582.668082 92.944477 \nL 584.502603 92.506594 \nL 586.337123 94.435287 \nL 588.171644 88.592381 \nL 590.006164 84.140007 \nL 591.840685 83.504908 \nL 593.675205 90.260351 \nL 595.509726 94.341694 \nL 597.344247 105.338925 \nL 599.178767 96.380694 \nL 601.013288 96.735012 \nL 602.847808 84.083182 \nL 604.682329 80.389583 \nL 606.516849 85.91494 \nL 608.35137 92.546705 \nL 610.18589 89.244193 \nL 612.020411 93.312166 \nL 613.854932 89.117173 \nL 615.689452 82.141118 \nL 617.523973 80.937774 \nL 619.358493 88.194609 \nL 621.193014 95.976237 \nL 623.027534 89.381241 \nL 624.862055 93.475954 \nL 626.696575 90.410769 \nL 628.531096 81.325518 \nL 630.365616 78.263675 \nL 632.200137 81.061451 \nL 634.034658 84.404074 \nL 635.869178 86.884301 \nL 637.703699 113.481556 \nL 639.538219 106.96344 \nL 641.37274 107.43475 \nL 643.20726 107.077089 \nL 645.041781 115.440334 \nL 646.876301 125.561798 \nL 648.710822 114.969024 \nL 652.379863 91.61077 \nL 654.214384 82.114377 \nL 656.048904 82.943348 \nL 657.883425 92.543362 \nL 659.717945 97.861476 \nL 661.552466 95.728883 \nL 663.386986 102.6314 \nL 665.221507 99.786828 \nL 667.056027 86.486529 \nL 668.890548 87.820235 \nL 670.725068 88.956727 \nL 672.559589 95.217461 \nL 674.39411 88.15784 \nL 676.22863 103.483769 \nL 678.063151 88.050876 \nL 679.897671 70.84305 \nL 681.732192 64.518807 \nL 685.401233 68.760596 \nL 687.235753 65.21073 \nL 689.070274 76.695984 \nL 690.904795 84.841958 \nL 692.739315 105.455917 \nL 694.573836 131.561807 \nL 696.408356 177.078311 \nL 698.242877 214.756364 \nL 700.077397 142.679373 \nL 701.911918 80.289305 \nL 703.746438 54.343861 \nL 705.580959 44.188971 \nL 707.415479 37.209573 \nL 709.25 79.079275 \nL 709.25 79.079275 \n\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\n   </g>\n   <g id=\"patch_3\">\n    <path d=\"M 39.65 224.64 \nL 39.65 7.2 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_4\">\n    <path d=\"M 709.25 224.64 \nL 709.25 7.2 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_5\">\n    <path d=\"M 39.65 224.64 \nL 709.25 224.64 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"patch_6\">\n    <path d=\"M 39.65 7.2 \nL 709.25 7.2 \n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n   </g>\n   <g id=\"legend_1\">\n    <g id=\"patch_7\">\n     <path d=\"M 641.545313 29.878125 \nL 702.25 29.878125 \nQ 704.25 29.878125 704.25 27.878125 \nL 704.25 14.2 \nQ 704.25 12.2 702.25 12.2 \nL 641.545313 12.2 \nQ 639.545313 12.2 639.545313 14.2 \nL 639.545313 27.878125 \nQ 639.545313 29.878125 641.545313 29.878125 \nz\n\" style=\"fill:#ffffff;opacity:0.8;stroke:#cccccc;stroke-linejoin:miter;\"/>\n    </g>\n    <g id=\"line2d_74\">\n     <path d=\"M 643.545313 20.298438 \nL 663.545313 20.298438 \n\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\n    </g>\n    <g id=\"line2d_75\"/>\n    <g id=\"text_21\">\n     <!-- births -->\n     <defs>\n      <path d=\"M 9.421875 54.6875 \nL 18.40625 54.6875 \nL 18.40625 0 \nL 9.421875 0 \nz\nM 9.421875 75.984375 \nL 18.40625 75.984375 \nL 18.40625 64.59375 \nL 9.421875 64.59375 \nz\n\" id=\"DejaVuSans-105\"/>\n      <path d=\"M 54.890625 33.015625 \nL 54.890625 0 \nL 45.90625 0 \nL 45.90625 32.71875 \nQ 45.90625 40.484375 42.875 44.328125 \nQ 39.84375 48.1875 33.796875 48.1875 \nQ 26.515625 48.1875 22.3125 43.546875 \nQ 18.109375 38.921875 18.109375 30.90625 \nL 18.109375 0 \nL 9.078125 0 \nL 9.078125 75.984375 \nL 18.109375 75.984375 \nL 18.109375 46.1875 \nQ 21.34375 51.125 25.703125 53.5625 \nQ 30.078125 56 35.796875 56 \nQ 45.21875 56 50.046875 50.171875 \nQ 54.890625 44.34375 54.890625 33.015625 \nz\n\" id=\"DejaVuSans-104\"/>\n      <path d=\"M 44.28125 53.078125 \nL 44.28125 44.578125 \nQ 40.484375 46.53125 36.375 47.5 \nQ 32.28125 48.484375 27.875 48.484375 \nQ 21.1875 48.484375 17.84375 46.4375 \nQ 14.5 44.390625 14.5 40.28125 \nQ 14.5 37.15625 16.890625 35.375 \nQ 19.28125 33.59375 26.515625 31.984375 \nL 29.59375 31.296875 \nQ 39.15625 29.25 43.1875 25.515625 \nQ 47.21875 21.78125 47.21875 15.09375 \nQ 47.21875 7.46875 41.1875 3.015625 \nQ 35.15625 -1.421875 24.609375 -1.421875 \nQ 20.21875 -1.421875 15.453125 -0.5625 \nQ 10.6875 0.296875 5.421875 2 \nL 5.421875 11.28125 \nQ 10.40625 8.6875 15.234375 7.390625 \nQ 20.0625 6.109375 24.8125 6.109375 \nQ 31.15625 6.109375 34.5625 8.28125 \nQ 37.984375 10.453125 37.984375 14.40625 \nQ 37.984375 18.0625 35.515625 20.015625 \nQ 33.0625 21.96875 24.703125 23.78125 \nL 21.578125 24.515625 \nQ 13.234375 26.265625 9.515625 29.90625 \nQ 5.8125 33.546875 5.8125 39.890625 \nQ 5.8125 47.609375 11.28125 51.796875 \nQ 16.75 56 26.8125 56 \nQ 31.78125 56 36.171875 55.265625 \nQ 40.578125 54.546875 44.28125 53.078125 \nz\n\" id=\"DejaVuSans-115\"/>\n     </defs>\n     <g transform=\"translate(671.545313 23.798438)scale(0.1 -0.1)\">\n      <use xlink:href=\"#DejaVuSans-98\"/>\n      <use x=\"63.476562\" xlink:href=\"#DejaVuSans-105\"/>\n      <use x=\"91.259766\" xlink:href=\"#DejaVuSans-114\"/>\n      <use x=\"132.373047\" xlink:href=\"#DejaVuSans-116\"/>\n      <use x=\"171.582031\" xlink:href=\"#DejaVuSans-104\"/>\n      <use x=\"234.960938\" xlink:href=\"#DejaVuSans-115\"/>\n     </g>\n    </g>\n   </g>\n  </g>\n </g>\n <defs>\n  <clipPath id=\"p736d87ae72\">\n   <rect height=\"217.44\" width=\"669.6\" x=\"39.65\" y=\"7.2\"/>\n  </clipPath>\n </defs>\n</svg>\n",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     }
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize=(12, 4))\n",
    "births_by_date.plot(ax=ax)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 向量化字符串操作"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "array([ 4.,  6., 10., nan, 22.])"
     },
     "metadata": {},
     "execution_count": 14
    }
   ],
   "source": [
    "x = np.array([2,3,5,np.nan,11])\n",
    "x*2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "output_type": "error",
     "ename": "AttributeError",
     "evalue": "'NoneType' object has no attribute 'capitalize'",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mAttributeError\u001b[0m                            Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-15-38b8bf4d1cb9>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m      1\u001b[0m \u001b[0mx_str\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'peter'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m'jack'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m'paul'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0;34m[\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcapitalize\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0ms\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mx_str\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;32m<ipython-input-15-38b8bf4d1cb9>\u001b[0m in \u001b[0;36m<listcomp>\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m      1\u001b[0m \u001b[0mx_str\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'peter'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m'jack'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m'paul'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0;34m[\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcapitalize\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0ms\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mx_str\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;31mAttributeError\u001b[0m: 'NoneType' object has no attribute 'capitalize'"
     ]
    }
   ],
   "source": [
    "x_str = np.array(['peter','jack',None,'paul'])\n",
    "[s.capitalize() for s in x_str]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "0    peter\n1     jack\n2     None\n3     paul\ndtype: object"
     },
     "metadata": {},
     "execution_count": 7
    }
   ],
   "source": [
    "names = pd.Series(x_str)\n",
    "names"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "0    Peter\n1     Jack\n2     None\n3     Paul\ndtype: object"
     },
     "metadata": {},
     "execution_count": 8
    }
   ],
   "source": [
    "names.str.capitalize()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 时间序列"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "array('2020-06-29', dtype='datetime64[D]')"
     },
     "metadata": {},
     "execution_count": 18
    }
   ],
   "source": [
    "date = np.array('2020-06-29', dtype=np.datetime64)\n",
    "date"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "array(['2020-06-29', '2020-06-30', '2020-07-01', '2020-07-02',\n       '2020-07-03', '2020-07-04', '2020-07-05', '2020-07-06',\n       '2020-07-07', '2020-07-08', '2020-07-09', '2020-07-10'],\n      dtype='datetime64[D]')"
     },
     "metadata": {},
     "execution_count": 19
    }
   ],
   "source": [
    "np.arange(12) + date"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "Timestamp('2020-07-01 13:24:11')"
     },
     "metadata": {},
     "execution_count": 24
    }
   ],
   "source": [
    "date = pd.to_datetime('20200701132411')\n",
    "date"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "'Wednesday'"
     },
     "metadata": {},
     "execution_count": 26
    }
   ],
   "source": [
    "date.strftime('%A')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "DatetimeIndex(['2019-01-01', '2019-07-01', '2020-01-01', '2020-07-01'], dtype='datetime64[ns]', freq=None)"
     },
     "metadata": {},
     "execution_count": 27
    }
   ],
   "source": [
    "index = pd.DatetimeIndex(['2019-01-01','2019-07-01', '2020-01-01', '2020-07-01'])\n",
    "index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "2019-01-01    0\n2019-07-01    1\n2020-01-01    2\n2020-07-01    3\ndtype: int64"
     },
     "metadata": {},
     "execution_count": 28
    }
   ],
   "source": [
    "data = pd.Series([0,1,2,3], index= index)\n",
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "2019-01-01    0\n2019-07-01    1\ndtype: int64"
     },
     "metadata": {},
     "execution_count": 29
    }
   ],
   "source": [
    "data['2019']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "from datetime import datetime"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "DatetimeIndex(['2010-07-03', '2010-07-04', '2010-07-06', '2010-07-07',\n               '2010-07-08'],\n              dtype='datetime64[ns]', freq=None)"
     },
     "metadata": {},
     "execution_count": 32
    }
   ],
   "source": [
    "dates = pd.to_datetime([datetime(2010, 7, 3), '4th of July, 2010', '2010-Jul-6', '07-07-2010', '20100708'])\n",
    "dates"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "TimedeltaIndex(['0 days', '1 days', '3 days', '4 days', '5 days'], dtype='timedelta64[ns]', freq=None)"
     },
     "metadata": {},
     "execution_count": 33
    }
   ],
   "source": [
    "dates - dates[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "DatetimeIndex(['2020-06-01', '2020-06-02', '2020-06-03', '2020-06-04',\n               '2020-06-05', '2020-06-06', '2020-06-07', '2020-06-08',\n               '2020-06-09', '2020-06-10', '2020-06-11', '2020-06-12',\n               '2020-06-13', '2020-06-14', '2020-06-15', '2020-06-16',\n               '2020-06-17', '2020-06-18', '2020-06-19', '2020-06-20',\n               '2020-06-21', '2020-06-22', '2020-06-23', '2020-06-24',\n               '2020-06-25', '2020-06-26', '2020-06-27', '2020-06-28',\n               '2020-06-29', '2020-06-30', '2020-07-01'],\n              dtype='datetime64[ns]', freq='D')"
     },
     "metadata": {},
     "execution_count": 23
    }
   ],
   "source": [
    "pd.date_range('2020-06-01', '2020-07-01') # 显式"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "DatetimeIndex(['2020-06-01', '2020-06-02', '2020-06-03', '2020-06-04',\n               '2020-06-05', '2020-06-06', '2020-06-07'],\n              dtype='datetime64[ns]', freq='D')"
     },
     "metadata": {},
     "execution_count": 24
    }
   ],
   "source": [
    "pd.date_range('2020-06-01', periods=7)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "DatetimeIndex(['2020-05-06', '2020-05-13', '2020-05-20', '2020-05-27',\n               '2020-06-03', '2020-06-10', '2020-06-17'],\n              dtype='datetime64[ns]', freq='W-WED')"
     },
     "metadata": {},
     "execution_count": 36
    }
   ],
   "source": [
    "pd.date_range('2020-05-01', periods=7, freq='W-WED')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "PeriodIndex(['2020-05', '2020-06', '2020-07', '2020-08', '2020-09', '2020-10',\n             '2020-11'],\n            dtype='period[M]', freq='M')"
     },
     "metadata": {},
     "execution_count": 33
    }
   ],
   "source": [
    "pd.period_range('2020-05', periods=7, freq='M')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "TimedeltaIndex(['00:00:00', '01:45:00', '03:30:00', '05:15:00', '07:00:00',\n                '08:45:00', '10:30:00', '12:15:00', '14:00:00', '15:45:00'],\n               dtype='timedelta64[ns]', freq='105T')"
     },
     "metadata": {},
     "execution_count": 36
    }
   ],
   "source": [
    "pd.timedelta_range(0, periods=10, freq='1H45T')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "from pandas_datareader import data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "                  High         Low        Open       Close      Volume  \\\nDate                                                                     \n2009-12-31  311.532288  308.832428  311.208527  308.832428   2448700.0   \n2010-01-04  313.579620  310.954468  312.304413  312.204773   3927000.0   \n2010-01-05  312.747742  309.609497  312.418976  310.829926   6031900.0   \n2010-01-06  311.761444  302.047852  311.761444  302.994293   7987100.0   \n2010-01-07  303.861053  295.218445  303.562164  295.940735  12876600.0   \n\n             Adj Close  \nDate                    \n2009-12-31  308.832428  \n2010-01-04  312.204773  \n2010-01-05  310.829926  \n2010-01-06  302.994293  \n2010-01-07  295.940735  ",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>High</th>\n      <th>Low</th>\n      <th>Open</th>\n      <th>Close</th>\n      <th>Volume</th>\n      <th>Adj Close</th>\n    </tr>\n    <tr>\n      <th>Date</th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>2009-12-31</th>\n      <td>311.532288</td>\n      <td>308.832428</td>\n      <td>311.208527</td>\n      <td>308.832428</td>\n      <td>2448700.0</td>\n      <td>308.832428</td>\n    </tr>\n    <tr>\n      <th>2010-01-04</th>\n      <td>313.579620</td>\n      <td>310.954468</td>\n      <td>312.304413</td>\n      <td>312.204773</td>\n      <td>3927000.0</td>\n      <td>312.204773</td>\n    </tr>\n    <tr>\n      <th>2010-01-05</th>\n      <td>312.747742</td>\n      <td>309.609497</td>\n      <td>312.418976</td>\n      <td>310.829926</td>\n      <td>6031900.0</td>\n      <td>310.829926</td>\n    </tr>\n    <tr>\n      <th>2010-01-06</th>\n      <td>311.761444</td>\n      <td>302.047852</td>\n      <td>311.761444</td>\n      <td>302.994293</td>\n      <td>7987100.0</td>\n      <td>302.994293</td>\n    </tr>\n    <tr>\n      <th>2010-01-07</th>\n      <td>303.861053</td>\n      <td>295.218445</td>\n      <td>303.562164</td>\n      <td>295.940735</td>\n      <td>12876600.0</td>\n      <td>295.940735</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "execution_count": 48
    }
   ],
   "source": [
    "goog = data.DataReader('GOOG', start='2010', end='2019', data_source='yahoo')\n",
    "goog.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "Date\n2009-12-31     308.832428\n2010-01-04     312.204773\n2010-01-05     310.829926\n2010-01-06     302.994293\n2010-01-07     295.940735\n                 ...     \n2018-12-24     976.219971\n2018-12-26    1039.459961\n2018-12-27    1043.880005\n2018-12-28    1037.079956\n2018-12-31    1035.609985\nName: Close, Length: 2265, dtype: float64"
     },
     "metadata": {},
     "execution_count": 49
    }
   ],
   "source": [
    "goog = goog['Close']\n",
    "goog"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn\n",
    "seaborn.set()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x7ffc5ef03ad0>"
     },
     "metadata": {},
     "execution_count": 46
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/svg+xml": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n  \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n<!-- Created with matplotlib (https://matplotlib.org/) -->\n<svg height=\"255.660518pt\" version=\"1.1\" viewBox=\"0 0 383.168125 255.660518\" width=\"383.168125pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <defs>\n  <style type=\"text/css\">\n*{stroke-linecap:butt;stroke-linejoin:round;}\n  </style>\n </defs>\n <g id=\"figure_1\">\n  <g id=\"patch_1\">\n   <path d=\"M 0 255.660518 \nL 383.168125 255.660518 \nL 383.168125 0 \nL 0 0 \nz\n\" style=\"fill:#ffffff;\"/>\n  </g>\n  <g id=\"axes_1\">\n   <g id=\"patch_2\">\n    <path d=\"M 41.168125 203.04 \nL 375.968125 203.04 \nL 375.968125 7.2 \nL 41.168125 7.2 \nz\n\" style=\"fill:#eaeaf2;\"/>\n   </g>\n   <g id=\"matplotlib.axis_1\">\n    <g id=\"xtick_1\">\n     <g id=\"line2d_1\">\n      <path clip-path=\"url(#p556431a7bc)\" d=\"M 56.478903 203.04 \nL 56.478903 7.2 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n     </g>\n     <g id=\"text_1\">\n      <!-- 2010 -->\n      <defs>\n       <path d=\"M 50.34375 8.453125 \nL 50.34375 0 \nL 3.03125 0 \nQ 2.9375 3.171875 4.046875 6.109375 \nQ 5.859375 10.9375 9.828125 15.625 \nQ 13.8125 20.3125 21.34375 26.46875 \nQ 33.015625 36.03125 37.109375 41.625 \nQ 41.21875 47.21875 41.21875 52.203125 \nQ 41.21875 57.421875 37.46875 61 \nQ 33.734375 64.59375 27.734375 64.59375 \nQ 21.390625 64.59375 17.578125 60.78125 \nQ 13.765625 56.984375 13.71875 50.25 \nL 4.6875 51.171875 \nQ 5.609375 61.28125 11.65625 66.578125 \nQ 17.71875 71.875 27.9375 71.875 \nQ 38.234375 71.875 44.234375 66.15625 \nQ 50.25 60.453125 50.25 52 \nQ 50.25 47.703125 48.484375 43.546875 \nQ 46.734375 39.40625 42.65625 34.8125 \nQ 38.578125 30.21875 29.109375 22.21875 \nQ 21.1875 15.578125 18.9375 13.203125 \nQ 16.703125 10.84375 15.234375 8.453125 \nz\n\" id=\"ArialMT-50\"/>\n       <path d=\"M 4.15625 35.296875 \nQ 4.15625 48 6.765625 55.734375 \nQ 9.375 63.484375 14.515625 67.671875 \nQ 19.671875 71.875 27.484375 71.875 \nQ 33.25 71.875 37.59375 69.546875 \nQ 41.9375 67.234375 44.765625 62.859375 \nQ 47.609375 58.5 49.21875 52.21875 \nQ 50.828125 45.953125 50.828125 35.296875 \nQ 50.828125 22.703125 48.234375 14.96875 \nQ 45.65625 7.234375 40.5 3 \nQ 35.359375 -1.21875 27.484375 -1.21875 \nQ 17.140625 -1.21875 11.234375 6.203125 \nQ 4.15625 15.140625 4.15625 35.296875 \nz\nM 13.1875 35.296875 \nQ 13.1875 17.671875 17.3125 11.828125 \nQ 21.4375 6 27.484375 6 \nQ 33.546875 6 37.671875 11.859375 \nQ 41.796875 17.71875 41.796875 35.296875 \nQ 41.796875 52.984375 37.671875 58.78125 \nQ 33.546875 64.59375 27.390625 64.59375 \nQ 21.34375 64.59375 17.71875 59.46875 \nQ 13.1875 52.9375 13.1875 35.296875 \nz\n\" id=\"ArialMT-48\"/>\n       <path d=\"M 37.25 0 \nL 28.46875 0 \nL 28.46875 56 \nQ 25.296875 52.984375 20.140625 49.953125 \nQ 14.984375 46.921875 10.890625 45.40625 \nL 10.890625 53.90625 \nQ 18.265625 57.375 23.78125 62.296875 \nQ 29.296875 67.234375 31.59375 71.875 \nL 37.25 71.875 \nz\n\" id=\"ArialMT-49\"/>\n      </defs>\n      <g style=\"fill:#262626;\" transform=\"translate(34.19576 231.592795)rotate(-30)scale(0.11 -0.11)\">\n       <use xlink:href=\"#ArialMT-50\"/>\n       <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"111.230469\" xlink:href=\"#ArialMT-49\"/>\n       <use x=\"166.845703\" xlink:href=\"#ArialMT-48\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_2\">\n     <g id=\"line2d_2\">\n      <path clip-path=\"url(#p556431a7bc)\" d=\"M 90.276508 203.04 \nL 90.276508 7.2 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n     </g>\n     <g id=\"text_2\">\n      <!-- 2011 -->\n      <g style=\"fill:#262626;\" transform=\"translate(68.003784 231.586779)rotate(-30)scale(0.11 -0.11)\">\n       <use xlink:href=\"#ArialMT-50\"/>\n       <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"111.230469\" xlink:href=\"#ArialMT-49\"/>\n       <use x=\"166.736328\" xlink:href=\"#ArialMT-49\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_3\">\n     <g id=\"line2d_3\">\n      <path clip-path=\"url(#p556431a7bc)\" d=\"M 124.074113 203.04 \nL 124.074113 7.2 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n     </g>\n     <g id=\"text_3\">\n      <!-- 2012 -->\n      <g style=\"fill:#262626;\" transform=\"translate(101.79097 231.592795)rotate(-30)scale(0.11 -0.11)\">\n       <use xlink:href=\"#ArialMT-50\"/>\n       <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"111.230469\" xlink:href=\"#ArialMT-49\"/>\n       <use x=\"166.845703\" xlink:href=\"#ArialMT-50\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_4\">\n     <g id=\"line2d_4\">\n      <path clip-path=\"url(#p556431a7bc)\" d=\"M 157.964314 203.04 \nL 157.964314 7.2 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n     </g>\n     <g id=\"text_4\">\n      <!-- 2013 -->\n      <defs>\n       <path d=\"M 4.203125 18.890625 \nL 12.984375 20.0625 \nQ 14.5 12.59375 18.140625 9.296875 \nQ 21.78125 6 27 6 \nQ 33.203125 6 37.46875 10.296875 \nQ 41.75 14.59375 41.75 20.953125 \nQ 41.75 27 37.796875 30.921875 \nQ 33.84375 34.859375 27.734375 34.859375 \nQ 25.25 34.859375 21.53125 33.890625 \nL 22.515625 41.609375 \nQ 23.390625 41.5 23.921875 41.5 \nQ 29.546875 41.5 34.03125 44.421875 \nQ 38.53125 47.359375 38.53125 53.46875 \nQ 38.53125 58.296875 35.25 61.46875 \nQ 31.984375 64.65625 26.8125 64.65625 \nQ 21.6875 64.65625 18.265625 61.421875 \nQ 14.84375 58.203125 13.875 51.765625 \nL 5.078125 53.328125 \nQ 6.6875 62.15625 12.390625 67.015625 \nQ 18.109375 71.875 26.609375 71.875 \nQ 32.46875 71.875 37.390625 69.359375 \nQ 42.328125 66.84375 44.9375 62.5 \nQ 47.5625 58.15625 47.5625 53.265625 \nQ 47.5625 48.640625 45.0625 44.828125 \nQ 42.578125 41.015625 37.703125 38.765625 \nQ 44.046875 37.3125 47.5625 32.6875 \nQ 51.078125 28.078125 51.078125 21.140625 \nQ 51.078125 11.765625 44.234375 5.25 \nQ 37.40625 -1.265625 26.953125 -1.265625 \nQ 17.53125 -1.265625 11.296875 4.34375 \nQ 5.078125 9.96875 4.203125 18.890625 \nz\n\" id=\"ArialMT-51\"/>\n      </defs>\n      <g style=\"fill:#262626;\" transform=\"translate(135.681171 231.592795)rotate(-30)scale(0.11 -0.11)\">\n       <use xlink:href=\"#ArialMT-50\"/>\n       <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"111.230469\" xlink:href=\"#ArialMT-49\"/>\n       <use x=\"166.845703\" xlink:href=\"#ArialMT-51\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_5\">\n     <g id=\"line2d_5\">\n      <path clip-path=\"url(#p556431a7bc)\" d=\"M 191.761919 203.04 \nL 191.761919 7.2 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n     </g>\n     <g id=\"text_5\">\n      <!-- 2014 -->\n      <defs>\n       <path d=\"M 32.328125 0 \nL 32.328125 17.140625 \nL 1.265625 17.140625 \nL 1.265625 25.203125 \nL 33.9375 71.578125 \nL 41.109375 71.578125 \nL 41.109375 25.203125 \nL 50.78125 25.203125 \nL 50.78125 17.140625 \nL 41.109375 17.140625 \nL 41.109375 0 \nz\nM 32.328125 25.203125 \nL 32.328125 57.46875 \nL 9.90625 25.203125 \nz\n\" id=\"ArialMT-52\"/>\n      </defs>\n      <g style=\"fill:#262626;\" transform=\"translate(169.478776 231.592795)rotate(-30)scale(0.11 -0.11)\">\n       <use xlink:href=\"#ArialMT-50\"/>\n       <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"111.230469\" xlink:href=\"#ArialMT-49\"/>\n       <use x=\"166.845703\" xlink:href=\"#ArialMT-52\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_6\">\n     <g id=\"line2d_6\">\n      <path clip-path=\"url(#p556431a7bc)\" d=\"M 225.559524 203.04 \nL 225.559524 7.2 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n     </g>\n     <g id=\"text_6\">\n      <!-- 2015 -->\n      <defs>\n       <path d=\"M 4.15625 18.75 \nL 13.375 19.53125 \nQ 14.40625 12.796875 18.140625 9.390625 \nQ 21.875 6 27.15625 6 \nQ 33.5 6 37.890625 10.78125 \nQ 42.28125 15.578125 42.28125 23.484375 \nQ 42.28125 31 38.0625 35.34375 \nQ 33.84375 39.703125 27 39.703125 \nQ 22.75 39.703125 19.328125 37.765625 \nQ 15.921875 35.84375 13.96875 32.765625 \nL 5.71875 33.84375 \nL 12.640625 70.609375 \nL 48.25 70.609375 \nL 48.25 62.203125 \nL 19.671875 62.203125 \nL 15.828125 42.96875 \nQ 22.265625 47.46875 29.34375 47.46875 \nQ 38.71875 47.46875 45.15625 40.96875 \nQ 51.609375 34.46875 51.609375 24.265625 \nQ 51.609375 14.546875 45.953125 7.46875 \nQ 39.0625 -1.21875 27.15625 -1.21875 \nQ 17.390625 -1.21875 11.203125 4.25 \nQ 5.03125 9.71875 4.15625 18.75 \nz\n\" id=\"ArialMT-53\"/>\n      </defs>\n      <g style=\"fill:#262626;\" transform=\"translate(203.276381 231.592795)rotate(-30)scale(0.11 -0.11)\">\n       <use xlink:href=\"#ArialMT-50\"/>\n       <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"111.230469\" xlink:href=\"#ArialMT-49\"/>\n       <use x=\"166.845703\" xlink:href=\"#ArialMT-53\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_7\">\n     <g id=\"line2d_7\">\n      <path clip-path=\"url(#p556431a7bc)\" d=\"M 259.357129 203.04 \nL 259.357129 7.2 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n     </g>\n     <g id=\"text_7\">\n      <!-- 2016 -->\n      <defs>\n       <path d=\"M 49.75 54.046875 \nL 41.015625 53.375 \nQ 39.84375 58.546875 37.703125 60.890625 \nQ 34.125 64.65625 28.90625 64.65625 \nQ 24.703125 64.65625 21.53125 62.3125 \nQ 17.390625 59.28125 14.984375 53.46875 \nQ 12.59375 47.65625 12.5 36.921875 \nQ 15.671875 41.75 20.265625 44.09375 \nQ 24.859375 46.4375 29.890625 46.4375 \nQ 38.671875 46.4375 44.84375 39.96875 \nQ 51.03125 33.5 51.03125 23.25 \nQ 51.03125 16.5 48.125 10.71875 \nQ 45.21875 4.9375 40.140625 1.859375 \nQ 35.0625 -1.21875 28.609375 -1.21875 \nQ 17.625 -1.21875 10.6875 6.859375 \nQ 3.765625 14.9375 3.765625 33.5 \nQ 3.765625 54.25 11.421875 63.671875 \nQ 18.109375 71.875 29.4375 71.875 \nQ 37.890625 71.875 43.28125 67.140625 \nQ 48.6875 62.40625 49.75 54.046875 \nz\nM 13.875 23.1875 \nQ 13.875 18.65625 15.796875 14.5 \nQ 17.71875 10.359375 21.1875 8.171875 \nQ 24.65625 6 28.46875 6 \nQ 34.03125 6 38.03125 10.484375 \nQ 42.046875 14.984375 42.046875 22.703125 \nQ 42.046875 30.125 38.078125 34.390625 \nQ 34.125 38.671875 28.125 38.671875 \nQ 22.171875 38.671875 18.015625 34.390625 \nQ 13.875 30.125 13.875 23.1875 \nz\n\" id=\"ArialMT-54\"/>\n      </defs>\n      <g style=\"fill:#262626;\" transform=\"translate(237.073986 231.592795)rotate(-30)scale(0.11 -0.11)\">\n       <use xlink:href=\"#ArialMT-50\"/>\n       <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"111.230469\" xlink:href=\"#ArialMT-49\"/>\n       <use x=\"166.845703\" xlink:href=\"#ArialMT-54\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_8\">\n     <g id=\"line2d_8\">\n      <path clip-path=\"url(#p556431a7bc)\" d=\"M 293.24733 203.04 \nL 293.24733 7.2 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n     </g>\n     <g id=\"text_8\">\n      <!-- 2017 -->\n      <defs>\n       <path d=\"M 4.734375 62.203125 \nL 4.734375 70.65625 \nL 51.078125 70.65625 \nL 51.078125 63.8125 \nQ 44.234375 56.546875 37.515625 44.484375 \nQ 30.8125 32.421875 27.15625 19.671875 \nQ 24.515625 10.6875 23.78125 0 \nL 14.75 0 \nQ 14.890625 8.453125 18.0625 20.40625 \nQ 21.234375 32.375 27.171875 43.484375 \nQ 33.109375 54.59375 39.796875 62.203125 \nz\n\" id=\"ArialMT-55\"/>\n      </defs>\n      <g style=\"fill:#262626;\" transform=\"translate(270.964187 231.592795)rotate(-30)scale(0.11 -0.11)\">\n       <use xlink:href=\"#ArialMT-50\"/>\n       <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"111.230469\" xlink:href=\"#ArialMT-49\"/>\n       <use x=\"166.845703\" xlink:href=\"#ArialMT-55\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_9\">\n     <g id=\"line2d_9\">\n      <path clip-path=\"url(#p556431a7bc)\" d=\"M 327.044934 203.04 \nL 327.044934 7.2 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n     </g>\n     <g id=\"text_9\">\n      <!-- 2018 -->\n      <defs>\n       <path d=\"M 17.671875 38.8125 \nQ 12.203125 40.828125 9.5625 44.53125 \nQ 6.9375 48.25 6.9375 53.421875 \nQ 6.9375 61.234375 12.546875 66.546875 \nQ 18.171875 71.875 27.484375 71.875 \nQ 36.859375 71.875 42.578125 66.421875 \nQ 48.296875 60.984375 48.296875 53.171875 \nQ 48.296875 48.1875 45.671875 44.5 \nQ 43.0625 40.828125 37.75 38.8125 \nQ 44.34375 36.671875 47.78125 31.875 \nQ 51.21875 27.09375 51.21875 20.453125 \nQ 51.21875 11.28125 44.71875 5.03125 \nQ 38.234375 -1.21875 27.640625 -1.21875 \nQ 17.046875 -1.21875 10.546875 5.046875 \nQ 4.046875 11.328125 4.046875 20.703125 \nQ 4.046875 27.6875 7.59375 32.390625 \nQ 11.140625 37.109375 17.671875 38.8125 \nz\nM 15.921875 53.71875 \nQ 15.921875 48.640625 19.1875 45.40625 \nQ 22.46875 42.1875 27.6875 42.1875 \nQ 32.765625 42.1875 36.015625 45.375 \nQ 39.265625 48.578125 39.265625 53.21875 \nQ 39.265625 58.0625 35.90625 61.359375 \nQ 32.5625 64.65625 27.59375 64.65625 \nQ 22.5625 64.65625 19.234375 61.421875 \nQ 15.921875 58.203125 15.921875 53.71875 \nz\nM 13.09375 20.65625 \nQ 13.09375 16.890625 14.875 13.375 \nQ 16.65625 9.859375 20.171875 7.921875 \nQ 23.6875 6 27.734375 6 \nQ 34.03125 6 38.125 10.046875 \nQ 42.234375 14.109375 42.234375 20.359375 \nQ 42.234375 26.703125 38.015625 30.859375 \nQ 33.796875 35.015625 27.4375 35.015625 \nQ 21.234375 35.015625 17.15625 30.90625 \nQ 13.09375 26.8125 13.09375 20.65625 \nz\n\" id=\"ArialMT-56\"/>\n      </defs>\n      <g style=\"fill:#262626;\" transform=\"translate(304.761792 231.592795)rotate(-30)scale(0.11 -0.11)\">\n       <use xlink:href=\"#ArialMT-50\"/>\n       <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"111.230469\" xlink:href=\"#ArialMT-49\"/>\n       <use x=\"166.845703\" xlink:href=\"#ArialMT-56\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"xtick_10\">\n     <g id=\"line2d_10\">\n      <path clip-path=\"url(#p556431a7bc)\" d=\"M 360.842539 203.04 \nL 360.842539 7.2 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n     </g>\n     <g id=\"text_10\">\n      <!-- 2019 -->\n      <defs>\n       <path d=\"M 5.46875 16.546875 \nL 13.921875 17.328125 \nQ 14.984375 11.375 18.015625 8.6875 \nQ 21.046875 6 25.78125 6 \nQ 29.828125 6 32.875 7.859375 \nQ 35.9375 9.71875 37.890625 12.8125 \nQ 39.84375 15.921875 41.15625 21.1875 \nQ 42.484375 26.46875 42.484375 31.9375 \nQ 42.484375 32.515625 42.4375 33.6875 \nQ 39.796875 29.5 35.234375 26.875 \nQ 30.671875 24.265625 25.34375 24.265625 \nQ 16.453125 24.265625 10.296875 30.703125 \nQ 4.15625 37.15625 4.15625 47.703125 \nQ 4.15625 58.59375 10.578125 65.234375 \nQ 17 71.875 26.65625 71.875 \nQ 33.640625 71.875 39.421875 68.109375 \nQ 45.21875 64.359375 48.21875 57.390625 \nQ 51.21875 50.4375 51.21875 37.25 \nQ 51.21875 23.53125 48.234375 15.40625 \nQ 45.265625 7.28125 39.375 3.03125 \nQ 33.5 -1.21875 25.59375 -1.21875 \nQ 17.1875 -1.21875 11.859375 3.4375 \nQ 6.546875 8.109375 5.46875 16.546875 \nz\nM 41.453125 48.140625 \nQ 41.453125 55.71875 37.421875 60.15625 \nQ 33.40625 64.59375 27.734375 64.59375 \nQ 21.875 64.59375 17.53125 59.8125 \nQ 13.1875 55.03125 13.1875 47.40625 \nQ 13.1875 40.578125 17.3125 36.296875 \nQ 21.4375 32.03125 27.484375 32.03125 \nQ 33.59375 32.03125 37.515625 36.296875 \nQ 41.453125 40.578125 41.453125 48.140625 \nz\n\" id=\"ArialMT-57\"/>\n      </defs>\n      <g style=\"fill:#262626;\" transform=\"translate(338.559397 231.592795)rotate(-30)scale(0.11 -0.11)\">\n       <use xlink:href=\"#ArialMT-50\"/>\n       <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"111.230469\" xlink:href=\"#ArialMT-49\"/>\n       <use x=\"166.845703\" xlink:href=\"#ArialMT-57\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"text_11\">\n     <!-- Date -->\n     <defs>\n      <path d=\"M 7.71875 0 \nL 7.71875 71.578125 \nL 32.375 71.578125 \nQ 40.71875 71.578125 45.125 70.5625 \nQ 51.265625 69.140625 55.609375 65.4375 \nQ 61.28125 60.640625 64.078125 53.1875 \nQ 66.890625 45.75 66.890625 36.1875 \nQ 66.890625 28.03125 64.984375 21.734375 \nQ 63.09375 15.4375 60.109375 11.296875 \nQ 57.125 7.171875 53.578125 4.796875 \nQ 50.046875 2.4375 45.046875 1.21875 \nQ 40.046875 0 33.546875 0 \nz\nM 17.1875 8.453125 \nL 32.46875 8.453125 \nQ 39.546875 8.453125 43.578125 9.765625 \nQ 47.609375 11.078125 50 13.484375 \nQ 53.375 16.84375 55.25 22.53125 \nQ 57.125 28.21875 57.125 36.328125 \nQ 57.125 47.5625 53.4375 53.59375 \nQ 49.75 59.625 44.484375 61.671875 \nQ 40.671875 63.140625 32.234375 63.140625 \nL 17.1875 63.140625 \nz\n\" id=\"ArialMT-68\"/>\n      <path d=\"M 40.4375 6.390625 \nQ 35.546875 2.25 31.03125 0.53125 \nQ 26.515625 -1.171875 21.34375 -1.171875 \nQ 12.796875 -1.171875 8.203125 3 \nQ 3.609375 7.171875 3.609375 13.671875 \nQ 3.609375 17.484375 5.34375 20.625 \nQ 7.078125 23.78125 9.890625 25.6875 \nQ 12.703125 27.59375 16.21875 28.5625 \nQ 18.796875 29.25 24.03125 29.890625 \nQ 34.671875 31.15625 39.703125 32.90625 \nQ 39.75 34.71875 39.75 35.203125 \nQ 39.75 40.578125 37.25 42.78125 \nQ 33.890625 45.75 27.25 45.75 \nQ 21.046875 45.75 18.09375 43.578125 \nQ 15.140625 41.40625 13.71875 35.890625 \nL 5.125 37.0625 \nQ 6.296875 42.578125 8.984375 45.96875 \nQ 11.671875 49.359375 16.75 51.1875 \nQ 21.828125 53.03125 28.515625 53.03125 \nQ 35.15625 53.03125 39.296875 51.46875 \nQ 43.453125 49.90625 45.40625 47.53125 \nQ 47.359375 45.171875 48.140625 41.546875 \nQ 48.578125 39.3125 48.578125 33.453125 \nL 48.578125 21.734375 \nQ 48.578125 9.46875 49.140625 6.21875 \nQ 49.703125 2.984375 51.375 0 \nL 42.1875 0 \nQ 40.828125 2.734375 40.4375 6.390625 \nz\nM 39.703125 26.03125 \nQ 34.90625 24.078125 25.34375 22.703125 \nQ 19.921875 21.921875 17.671875 20.9375 \nQ 15.4375 19.96875 14.203125 18.09375 \nQ 12.984375 16.21875 12.984375 13.921875 \nQ 12.984375 10.40625 15.640625 8.0625 \nQ 18.3125 5.71875 23.4375 5.71875 \nQ 28.515625 5.71875 32.46875 7.9375 \nQ 36.421875 10.15625 38.28125 14.015625 \nQ 39.703125 17 39.703125 22.796875 \nz\n\" id=\"ArialMT-97\"/>\n      <path d=\"M 25.78125 7.859375 \nL 27.046875 0.09375 \nQ 23.34375 -0.6875 20.40625 -0.6875 \nQ 15.625 -0.6875 12.984375 0.828125 \nQ 10.359375 2.34375 9.28125 4.8125 \nQ 8.203125 7.28125 8.203125 15.1875 \nL 8.203125 45.015625 \nL 1.765625 45.015625 \nL 1.765625 51.859375 \nL 8.203125 51.859375 \nL 8.203125 64.703125 \nL 16.9375 69.96875 \nL 16.9375 51.859375 \nL 25.78125 51.859375 \nL 25.78125 45.015625 \nL 16.9375 45.015625 \nL 16.9375 14.703125 \nQ 16.9375 10.9375 17.40625 9.859375 \nQ 17.875 8.796875 18.921875 8.15625 \nQ 19.96875 7.515625 21.921875 7.515625 \nQ 23.390625 7.515625 25.78125 7.859375 \nz\n\" id=\"ArialMT-116\"/>\n      <path d=\"M 42.09375 16.703125 \nL 51.171875 15.578125 \nQ 49.03125 7.625 43.21875 3.21875 \nQ 37.40625 -1.171875 28.375 -1.171875 \nQ 17 -1.171875 10.328125 5.828125 \nQ 3.65625 12.84375 3.65625 25.484375 \nQ 3.65625 38.578125 10.390625 45.796875 \nQ 17.140625 53.03125 27.875 53.03125 \nQ 38.28125 53.03125 44.875 45.953125 \nQ 51.46875 38.875 51.46875 26.03125 \nQ 51.46875 25.25 51.421875 23.6875 \nL 12.75 23.6875 \nQ 13.234375 15.140625 17.578125 10.59375 \nQ 21.921875 6.0625 28.421875 6.0625 \nQ 33.25 6.0625 36.671875 8.59375 \nQ 40.09375 11.140625 42.09375 16.703125 \nz\nM 13.234375 30.90625 \nL 42.1875 30.90625 \nQ 41.609375 37.453125 38.875 40.71875 \nQ 34.671875 45.796875 27.984375 45.796875 \nQ 21.921875 45.796875 17.796875 41.75 \nQ 13.671875 37.703125 13.234375 30.90625 \nz\n\" id=\"ArialMT-101\"/>\n     </defs>\n     <g style=\"fill:#262626;\" transform=\"translate(195.895 246.075518)scale(0.12 -0.12)\">\n      <use xlink:href=\"#ArialMT-68\"/>\n      <use x=\"72.216797\" xlink:href=\"#ArialMT-97\"/>\n      <use x=\"127.832031\" xlink:href=\"#ArialMT-116\"/>\n      <use x=\"155.615234\" xlink:href=\"#ArialMT-101\"/>\n     </g>\n    </g>\n   </g>\n   <g id=\"matplotlib.axis_2\">\n    <g id=\"ytick_1\">\n     <g id=\"line2d_11\">\n      <path clip-path=\"url(#p556431a7bc)\" d=\"M 41.168125 197.055034 \nL 375.968125 197.055034 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n     </g>\n     <g id=\"text_12\">\n      <!-- 200 -->\n      <g style=\"fill:#262626;\" transform=\"translate(13.317031 200.991831)scale(0.11 -0.11)\">\n       <use xlink:href=\"#ArialMT-50\"/>\n       <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"111.230469\" xlink:href=\"#ArialMT-48\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"ytick_2\">\n     <g id=\"line2d_12\">\n      <path clip-path=\"url(#p556431a7bc)\" d=\"M 41.168125 163.17913 \nL 375.968125 163.17913 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n     </g>\n     <g id=\"text_13\">\n      <!-- 400 -->\n      <g style=\"fill:#262626;\" transform=\"translate(13.317031 167.115927)scale(0.11 -0.11)\">\n       <use xlink:href=\"#ArialMT-52\"/>\n       <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"111.230469\" xlink:href=\"#ArialMT-48\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"ytick_3\">\n     <g id=\"line2d_13\">\n      <path clip-path=\"url(#p556431a7bc)\" d=\"M 41.168125 129.303226 \nL 375.968125 129.303226 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n     </g>\n     <g id=\"text_14\">\n      <!-- 600 -->\n      <g style=\"fill:#262626;\" transform=\"translate(13.317031 133.240023)scale(0.11 -0.11)\">\n       <use xlink:href=\"#ArialMT-54\"/>\n       <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"111.230469\" xlink:href=\"#ArialMT-48\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"ytick_4\">\n     <g id=\"line2d_14\">\n      <path clip-path=\"url(#p556431a7bc)\" d=\"M 41.168125 95.427322 \nL 375.968125 95.427322 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n     </g>\n     <g id=\"text_15\">\n      <!-- 800 -->\n      <g style=\"fill:#262626;\" transform=\"translate(13.317031 99.364119)scale(0.11 -0.11)\">\n       <use xlink:href=\"#ArialMT-56\"/>\n       <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"111.230469\" xlink:href=\"#ArialMT-48\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"ytick_5\">\n     <g id=\"line2d_15\">\n      <path clip-path=\"url(#p556431a7bc)\" d=\"M 41.168125 61.551418 \nL 375.968125 61.551418 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n     </g>\n     <g id=\"text_16\">\n      <!-- 1000 -->\n      <g style=\"fill:#262626;\" transform=\"translate(7.2 65.488214)scale(0.11 -0.11)\">\n       <use xlink:href=\"#ArialMT-49\"/>\n       <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"111.230469\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"166.845703\" xlink:href=\"#ArialMT-48\"/>\n      </g>\n     </g>\n    </g>\n    <g id=\"ytick_6\">\n     <g id=\"line2d_16\">\n      <path clip-path=\"url(#p556431a7bc)\" d=\"M 41.168125 27.675513 \nL 375.968125 27.675513 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n     </g>\n     <g id=\"text_17\">\n      <!-- 1200 -->\n      <g style=\"fill:#262626;\" transform=\"translate(7.2 31.61231)scale(0.11 -0.11)\">\n       <use xlink:href=\"#ArialMT-49\"/>\n       <use x=\"55.615234\" xlink:href=\"#ArialMT-50\"/>\n       <use x=\"111.230469\" xlink:href=\"#ArialMT-48\"/>\n       <use x=\"166.845703\" xlink:href=\"#ArialMT-48\"/>\n      </g>\n     </g>\n    </g>\n   </g>\n   <g id=\"line2d_17\">\n    <path clip-path=\"url(#p556431a7bc)\" d=\"M 56.386307 178.62105 \nL 56.756692 178.049844 \nL 56.849288 178.282715 \nL 57.03448 180.804639 \nL 57.127076 180.136399 \nL 57.404865 180.21318 \nL 57.590057 181.396097 \nL 57.682653 181.163226 \nL 57.775249 181.994306 \nL 58.145634 181.35138 \nL 58.23823 181.95971 \nL 58.330827 181.742873 \nL 58.423423 184.524666 \nL 58.701211 185.369243 \nL 58.886404 185.192058 \nL 59.071596 186.218043 \nL 59.349385 185.958174 \nL 59.441981 186.118482 \nL 59.534577 185.30006 \nL 59.627173 186.484663 \nL 59.719769 186.104138 \nL 59.997558 185.920202 \nL 60.090154 185.669612 \nL 60.18275 185.837518 \nL 60.275346 185.672987 \nL 60.367942 185.949733 \nL 60.738327 185.259561 \nL 60.830923 185.520272 \nL 60.92352 185.097563 \nL 61.016116 185.305121 \nL 61.293904 185.132997 \nL 61.571693 186.514193 \nL 61.664289 186.482972 \nL 61.942077 185.986014 \nL 62.312462 183.326563 \nL 62.590251 183.472526 \nL 62.682847 183.665746 \nL 62.868039 181.898121 \nL 62.960635 182.033116 \nL 63.238424 183.413465 \nL 63.423616 183.212657 \nL 63.516213 183.141784 \nL 63.608809 183.681775 \nL 63.886597 183.892708 \nL 63.979193 184.609883 \nL 64.164386 183.438778 \nL 64.53477 183.475059 \nL 64.719963 183.081033 \nL 64.812559 182.939287 \nL 65.182944 182.752824 \nL 65.368136 183.383091 \nL 65.460732 183.049817 \nL 65.553328 183.156971 \nL 65.831117 182.607697 \nL 66.016309 181.234942 \nL 66.108905 180.703387 \nL 66.201502 184.512855 \nL 66.47929 184.517073 \nL 66.571886 184.100266 \nL 66.664483 184.162703 \nL 66.849675 184.948219 \nL 67.22006 186.292291 \nL 67.312656 186.281322 \nL 67.405252 186.044233 \nL 67.497848 186.575788 \nL 67.775637 186.162357 \nL 67.868233 188.206725 \nL 67.960829 187.9207 \nL 68.146021 189.322987 \nL 68.42381 186.917498 \nL 68.609002 188.289412 \nL 68.701598 187.8262 \nL 68.794195 188.108851 \nL 69.071983 188.071727 \nL 69.442368 191.102423 \nL 69.812753 190.678868 \nL 69.905349 190.813866 \nL 69.997945 189.549107 \nL 70.090541 189.956633 \nL 70.460926 190.231688 \nL 70.646118 188.271692 \nL 71.016503 189.965914 \nL 71.109099 190.028351 \nL 71.201695 190.936209 \nL 71.386888 189.714481 \nL 71.664676 190.162503 \nL 71.849869 188.63703 \nL 72.035061 188.741655 \nL 72.683234 191.04927 \nL 72.961023 191.099893 \nL 73.238811 193.849625 \nL 73.331407 194.097685 \nL 73.701792 194.138182 \nL 73.979581 191.487168 \nL 74.257369 190.783492 \nL 74.442561 189.474859 \nL 74.535158 189.248739 \nL 74.627754 192.15203 \nL 74.905542 191.597696 \nL 74.998139 190.297501 \nL 75.090735 190.642589 \nL 75.275927 189.582858 \nL 75.553716 189.674824 \nL 75.646312 189.366017 \nL 75.738908 190.06463 \nL 75.831504 190.010631 \nL 75.9241 190.022442 \nL 76.294485 189.602263 \nL 76.479677 188.060758 \nL 76.572274 188.725623 \nL 76.850062 188.292787 \nL 76.942658 188.43116 \nL 77.035254 189.44111 \nL 77.127851 189.41833 \nL 77.220447 189.895883 \nL 77.498235 189.960008 \nL 77.590832 189.544047 \nL 77.86862 191.94869 \nL 78.146409 191.775726 \nL 78.239005 192.84558 \nL 78.331601 192.573055 \nL 78.424197 192.880174 \nL 78.516793 192.217843 \nL 78.887178 192.961173 \nL 79.164967 191.250077 \nL 79.535351 191.747883 \nL 79.81314 190.757337 \nL 80.090928 190.240127 \nL 80.276121 190.377655 \nL 80.368717 190.342218 \nL 80.739102 188.045572 \nL 80.924294 187.394209 \nL 81.01689 187.60683 \nL 81.109486 186.44163 \nL 81.387275 186.178386 \nL 81.479871 186.451756 \nL 81.572467 186.407882 \nL 81.75766 186.582533 \nL 82.035448 186.858437 \nL 82.128044 185.518587 \nL 82.313237 186.212135 \nL 82.405833 185.67721 \nL 82.683621 185.467119 \nL 82.868814 185.090812 \nL 82.96141 185.290777 \nL 83.054006 180.184492 \nL 83.331795 178.812579 \nL 83.424391 179.646187 \nL 83.516987 179.633533 \nL 83.702179 179.249633 \nL 84.072564 178.737488 \nL 84.16516 178.9172 \nL 84.257756 178.739173 \nL 84.350353 179.150919 \nL 84.720737 178.990606 \nL 84.998526 178.190747 \nL 85.276314 178.048153 \nL 85.461507 178.376368 \nL 85.554103 178.856454 \nL 85.646699 180.029245 \nL 85.924488 180.689048 \nL 86.10968 181.694781 \nL 86.202276 180.597081 \nL 86.294872 181.080537 \nL 86.572661 181.047636 \nL 86.665257 181.740341 \nL 86.757853 180.731233 \nL 87.220834 181.816274 \nL 87.31343 184.043738 \nL 87.591219 182.584917 \nL 87.869007 182.132677 \nL 88.0542 181.105007 \nL 88.609777 180.736293 \nL 88.702373 181.125254 \nL 88.794969 181.006289 \nL 88.887565 181.08307 \nL 89.165354 180.72364 \nL 89.350546 179.843624 \nL 89.443142 179.949936 \nL 89.813527 180.106026 \nL 89.906123 180.397958 \nL 89.998719 180.222459 \nL 90.183912 180.815607 \nL 90.4617 179.93981 \nL 90.554296 180.127963 \nL 90.832085 178.919733 \nL 91.109873 179.107887 \nL 91.295066 178.883452 \nL 91.387662 178.898638 \nL 91.480258 178.26668 \nL 91.850643 176.963112 \nL 92.128431 179.308694 \nL 92.40622 179.371974 \nL 92.498816 178.626958 \nL 92.684009 178.890202 \nL 92.776605 180.223306 \nL 93.054393 180.27646 \nL 93.239586 179.29435 \nL 93.332182 179.450445 \nL 93.702566 179.101136 \nL 93.795163 178.75605 \nL 93.980355 178.919733 \nL 94.072951 178.239682 \nL 94.35074 177.93172 \nL 94.535932 178.26331 \nL 94.628528 178.17556 \nL 94.721124 177.76888 \nL 95.091509 179.445379 \nL 95.184105 179.351726 \nL 95.276701 179.56266 \nL 95.647086 179.176227 \nL 95.832279 180.240178 \nL 95.924875 179.500223 \nL 96.017471 180.254522 \nL 96.295259 181.010507 \nL 96.387856 180.955668 \nL 96.480452 181.001228 \nL 96.665644 182.271895 \nL 97.036029 182.875165 \nL 97.128625 183.926457 \nL 97.591606 182.289609 \nL 97.684202 182.220427 \nL 97.869394 181.412969 \nL 97.961991 182.016239 \nL 98.239779 182.385795 \nL 98.517568 181.423938 \nL 98.610164 180.998695 \nL 98.887952 181.346314 \nL 98.980549 182.914817 \nL 99.165741 181.994306 \nL 99.258337 182.149554 \nL 99.536126 182.216209 \nL 99.628722 182.786572 \nL 99.813914 182.120023 \nL 99.90651 186.153916 \nL 100.184299 186.479602 \nL 100.276895 186.927625 \nL 100.369491 186.573255 \nL 100.462087 186.626408 \nL 100.832472 186.630626 \nL 101.017665 185.558239 \nL 101.110261 185.540525 \nL 101.202857 185.023315 \nL 101.480645 185.490742 \nL 101.573242 185.884768 \nL 101.665838 185.724455 \nL 101.758434 185.852705 \nL 102.128819 185.56499 \nL 102.221415 185.144813 \nL 102.499203 186.250949 \nL 102.776992 187.190026 \nL 102.869588 186.174168 \nL 102.962184 186.229012 \nL 103.05478 186.107513 \nL 103.147377 186.716691 \nL 103.517761 187.203523 \nL 103.610357 187.084557 \nL 103.702954 187.214492 \nL 104.165935 186.295667 \nL 104.258531 186.584224 \nL 104.351127 186.376666 \nL 104.443723 186.796842 \nL 104.906704 187.126747 \nL 104.9993 187.332615 \nL 105.091896 187.941793 \nL 105.369685 188.345098 \nL 105.462281 188.037978 \nL 105.647473 188.712966 \nL 105.74007 190.008101 \nL 106.017858 190.045225 \nL 106.110454 189.334798 \nL 106.388243 190.863646 \nL 106.666031 190.195409 \nL 107.036416 186.969809 \nL 107.499397 185.760737 \nL 107.591993 184.812381 \nL 107.684589 186.045076 \nL 107.962378 186.442473 \nL 108.14757 185.516054 \nL 108.240166 186.302417 \nL 108.332763 180.50764 \nL 108.610551 180.733766 \nL 108.703147 180.091682 \nL 108.795743 180.699169 \nL 108.980936 178.768704 \nL 109.258724 178.705424 \nL 109.351321 178.406741 \nL 109.443917 179.697655 \nL 109.536513 179.38379 \nL 109.629109 179.995496 \nL 109.906898 179.735627 \nL 109.999494 180.948075 \nL 110.09209 180.208114 \nL 110.184686 182.20355 \nL 110.277282 182.0753 \nL 110.555071 184.861316 \nL 110.647667 182.550326 \nL 110.740263 184.609041 \nL 110.925456 183.363687 \nL 111.203244 183.915488 \nL 111.573629 189.510295 \nL 111.851417 188.898587 \nL 112.03661 186.779128 \nL 112.129206 187.053341 \nL 112.499591 185.446867 \nL 112.684783 185.288244 \nL 112.869975 186.648346 \nL 113.24036 186.872781 \nL 113.425552 185.794486 \nL 113.518149 186.647503 \nL 113.981129 186.038325 \nL 114.166322 184.80563 \nL 114.536706 184.809848 \nL 114.629303 185.436741 \nL 114.721899 187.00103 \nL 114.814495 186.591817 \nL 115.092284 186.053512 \nL 115.18488 185.424929 \nL 115.462668 187.475208 \nL 115.740457 189.122177 \nL 116.666419 183.766992 \nL 116.759015 181.008821 \nL 117.036803 181.790966 \nL 117.129399 181.10754 \nL 117.221996 181.935245 \nL 117.314592 181.684654 \nL 117.407188 181.109225 \nL 117.684977 180.608892 \nL 117.777573 181.727682 \nL 117.870169 181.46191 \nL 118.055361 180.295022 \nL 118.33315 180.927822 \nL 118.425746 182.108207 \nL 118.981323 179.604002 \nL 119.073919 179.265667 \nL 119.259112 180.721949 \nL 119.351708 179.602317 \nL 119.722092 178.909607 \nL 119.907285 180.233427 \nL 120.277669 181.914993 \nL 120.370266 181.994306 \nL 120.462862 182.828757 \nL 120.648054 183.428651 \nL 120.925843 181.303287 \nL 121.018439 181.747091 \nL 121.296227 178.588991 \nL 121.574016 178.142654 \nL 121.759208 178.333335 \nL 121.851805 178.952639 \nL 121.944401 177.99331 \nL 122.314785 178.144339 \nL 122.407382 178.782205 \nL 122.499978 178.658174 \nL 122.592574 178.116499 \nL 122.870362 178.46496 \nL 122.962959 177.74441 \nL 123.055555 178.12831 \nL 123.240747 177.510696 \nL 123.88892 176.434091 \nL 124.351901 174.54581 \nL 124.814882 178.411807 \nL 124.907478 178.35443 \nL 125.092671 177.806004 \nL 125.185267 178.19834 \nL 125.555652 177.895439 \nL 125.740844 176.968173 \nL 125.83344 181.488908 \nL 126.111229 181.528564 \nL 126.203825 181.915835 \nL 126.389017 182.998348 \nL 126.481613 181.995992 \nL 126.759402 182.189206 \nL 127.03719 181.563156 \nL 127.129787 180.616485 \nL 127.407575 179.53988 \nL 127.500171 179.735627 \nL 127.685364 179.339915 \nL 127.77796 179.808185 \nL 128.055748 179.277478 \nL 128.426133 179.915339 \nL 128.796518 179.125606 \nL 128.98171 179.791313 \nL 129.074306 179.471535 \nL 129.352095 179.521318 \nL 129.444691 178.755207 \nL 129.537287 178.767019 \nL 129.629883 178.416867 \nL 129.72248 178.513895 \nL 130.000268 179.104511 \nL 130.092864 179.888341 \nL 130.185461 179.733094 \nL 130.278057 179.704406 \nL 130.370653 180.285738 \nL 130.648441 179.872312 \nL 130.741038 178.806671 \nL 130.833634 178.9577 \nL 131.018826 178.194122 \nL 131.574403 176.421432 \nL 131.666999 176.713364 \nL 131.944788 176.144691 \nL 132.037384 176.33959 \nL 132.12998 175.602168 \nL 132.315173 176.82727 \nL 132.592961 176.348031 \nL 132.87075 177.579884 \nL 133.241134 177.704753 \nL 133.333731 178.04056 \nL 133.518923 176.00294 \nL 133.611519 178.231246 \nL 133.889308 179.794688 \nL 133.981904 179.49938 \nL 134.0745 179.67825 \nL 134.259692 180.639265 \nL 134.537481 180.509331 \nL 134.630077 180.199679 \nL 134.815269 179.001575 \nL 134.907866 179.042917 \nL 135.27825 179.933059 \nL 135.463443 179.377039 \nL 135.556039 180.562484 \nL 135.926424 179.227695 \nL 136.01902 179.534814 \nL 136.111616 179.154289 \nL 136.204212 179.865561 \nL 136.482001 179.96934 \nL 136.574597 179.369446 \nL 136.667193 177.865908 \nL 136.759789 178.362023 \nL 136.852385 180.273084 \nL 137.130174 179.116323 \nL 137.22277 180.239336 \nL 137.315366 179.508659 \nL 137.500559 181.021475 \nL 137.870943 180.784386 \nL 138.148732 182.755351 \nL 138.42652 182.113272 \nL 138.519117 182.803444 \nL 138.611713 181.946214 \nL 138.704309 182.143646 \nL 138.796905 181.956335 \nL 139.352482 183.761931 \nL 139.445078 183.30125 \nL 139.722867 182.76632 \nL 139.815463 181.865215 \nL 139.908059 182.204392 \nL 140.000655 183.242188 \nL 140.093252 182.713167 \nL 140.37104 183.622713 \nL 140.556232 182.897102 \nL 140.648829 183.318127 \nL 140.741425 181.988398 \nL 141.019213 181.95465 \nL 141.297002 180.651076 \nL 141.389598 181.48975 \nL 141.667387 181.487217 \nL 141.759983 181.85087 \nL 141.945175 182.797541 \nL 142.037771 182.287924 \nL 142.31556 182.422919 \nL 142.500752 181.930179 \nL 142.685945 179.393911 \nL 142.963733 178.998199 \nL 143.056329 179.668124 \nL 143.148925 179.63269 \nL 143.241522 179.179602 \nL 143.334118 177.357134 \nL 143.704502 177.52504 \nL 143.797099 177.549505 \nL 143.889695 177.881095 \nL 143.982291 176.819676 \nL 144.26008 176.69396 \nL 144.352676 176.886331 \nL 144.537868 176.733617 \nL 144.630464 176.763148 \nL 145.278637 173.798262 \nL 145.556426 173.933257 \nL 145.649022 174.442031 \nL 145.741618 173.794886 \nL 145.834215 173.82695 \nL 145.926811 173.672545 \nL 146.204599 174.466501 \nL 146.389792 172.881122 \nL 146.482388 173.415204 \nL 146.574984 173.127494 \nL 147.037965 173.496203 \nL 147.223157 171.350586 \nL 147.500946 171.804517 \nL 147.686138 172.638967 \nL 147.87133 171.052745 \nL 148.149119 171.027437 \nL 148.519504 169.001629 \nL 148.982485 167.358873 \nL 149.075081 167.102379 \nL 149.167677 167.271128 \nL 149.445465 166.65689 \nL 149.538062 167.061037 \nL 149.723254 166.127868 \nL 149.81585 166.161617 \nL 150.093639 166.989322 \nL 150.186235 168.149454 \nL 150.278831 168.109802 \nL 150.371427 167.525937 \nL 150.464023 168.093767 \nL 150.741812 168.411855 \nL 150.834408 168.097985 \nL 150.927004 167.187596 \nL 151.112197 173.405925 \nL 151.389985 173.66917 \nL 151.482581 173.527424 \nL 151.575178 173.78476 \nL 151.667774 173.745951 \nL 151.76037 173.966163 \nL 152.223351 173.531642 \nL 152.408543 172.888715 \nL 152.778928 173.411828 \nL 152.96412 175.894943 \nL 153.056716 174.988772 \nL 153.334505 174.746617 \nL 153.612293 176.319343 \nL 153.70489 176.326094 \nL 154.075274 174.403222 \nL 154.167871 174.74915 \nL 154.353063 174.571965 \nL 154.630851 175.147395 \nL 155.001236 172.007014 \nL 155.279025 172.270259 \nL 155.464217 172.897151 \nL 155.556813 172.617877 \nL 155.649409 173.201743 \nL 155.927198 173.099649 \nL 156.11239 172.075354 \nL 156.575371 170.116201 \nL 156.85316 169.982891 \nL 156.945756 170.550727 \nL 157.223544 171.067937 \nL 157.408737 171.12109 \nL 157.501333 171.338775 \nL 157.593929 171.868639 \nL 157.871718 171.246807 \nL 158.242102 168.665821 \nL 158.612487 169.059848 \nL 158.797679 168.369671 \nL 158.890276 168.495387 \nL 159.168064 169.9078 \nL 159.26066 169.766049 \nL 159.538449 171.488956 \nL 159.908834 171.627332 \nL 160.094026 167.295593 \nL 160.464411 167.589216 \nL 160.649603 167.327657 \nL 160.742199 167.170724 \nL 160.834795 165.490844 \nL 161.112584 166.889761 \nL 161.482969 164.666515 \nL 161.853353 165.060541 \nL 162.038546 164.459799 \nL 162.131142 164.032029 \nL 162.501527 162.854172 \nL 162.594123 164.068311 \nL 162.779315 163.4566 \nL 163.1497 164.2649 \nL 163.334892 163.330883 \nL 163.705277 161.618102 \nL 163.797873 160.175316 \nL 163.890469 160.784494 \nL 163.983065 160.681558 \nL 164.075662 160.772678 \nL 164.35345 160.494247 \nL 164.723835 162.22559 \nL 165.001623 162.774864 \nL 165.186816 162.190999 \nL 165.372008 162.56224 \nL 165.649797 162.618774 \nL 165.742393 162.384213 \nL 165.927585 163.922342 \nL 166.29797 163.331726 \nL 166.390566 162.331902 \nL 166.575758 163.848093 \nL 166.668355 164.862262 \nL 166.946143 165.554124 \nL 167.038739 165.317883 \nL 167.223932 164.242963 \nL 167.316528 164.271651 \nL 167.594316 164.956762 \nL 167.686913 163.99153 \nL 167.872105 166.308423 \nL 167.964701 163.443103 \nL 168.24249 163.422851 \nL 168.427682 162.29731 \nL 168.612874 163.312321 \nL 168.983259 161.359076 \nL 169.075855 161.70838 \nL 169.538836 158.238942 \nL 169.631432 158.603438 \nL 169.724028 157.219709 \nL 169.816625 157.401116 \nL 169.909221 156.662847 \nL 170.187009 156.890652 \nL 170.279605 156.083199 \nL 170.372202 153.654086 \nL 170.464798 154.668254 \nL 170.557394 154.220231 \nL 170.835183 154.275075 \nL 170.927779 154.4067 \nL 171.205567 157.245869 \nL 171.575952 156.575097 \nL 171.668548 157.668579 \nL 171.761144 157.461863 \nL 171.853741 157.423049 \nL 172.131529 157.72595 \nL 172.224125 158.445658 \nL 172.316721 158.395032 \nL 172.409318 157.978231 \nL 172.501914 156.705031 \nL 172.779702 155.819955 \nL 172.964895 157.358927 \nL 173.057491 156.935374 \nL 173.150087 157.100743 \nL 173.427876 156.154915 \nL 173.613068 154.937406 \nL 173.79826 156.603785 \nL 174.168645 157.846606 \nL 174.446433 156.651035 \nL 174.724222 156.017387 \nL 174.816818 156.487347 \nL 175.372395 154.565322 \nL 175.557588 154.489384 \nL 175.74278 153.054191 \nL 176.020569 152.911598 \nL 176.298357 154.093672 \nL 176.390953 155.28165 \nL 176.668742 154.091987 \nL 177.039126 156.230853 \nL 177.316915 156.490722 \nL 177.409511 155.760893 \nL 177.502107 156.028356 \nL 177.6873 154.440448 \nL 177.965088 154.572916 \nL 178.150281 155.783673 \nL 178.242877 155.614082 \nL 178.705858 156.576787 \nL 178.983646 158.630436 \nL 179.539223 157.212963 \nL 179.631819 157.508266 \nL 179.909608 157.830577 \nL 180.0948 159.3358 \nL 180.187397 158.75531 \nL 180.279993 159.475013 \nL 180.650377 158.337661 \nL 180.83557 156.719375 \nL 180.928166 156.71769 \nL 181.391147 155.316246 \nL 181.483743 155.580333 \nL 181.576339 155.916983 \nL 181.946724 156.166731 \nL 182.03932 154.714662 \nL 182.131916 155.13062 \nL 182.224512 154.732381 \nL 182.687493 156.915965 \nL 182.780089 156.836656 \nL 182.872686 156.986838 \nL 183.150474 157.027337 \nL 183.335667 156.008108 \nL 183.520859 157.327711 \nL 183.798647 157.885415 \nL 183.891244 158.903807 \nL 183.98384 158.719028 \nL 184.169032 157.358084 \nL 184.446821 157.010465 \nL 184.539417 156.51266 \nL 184.632013 155.160999 \nL 184.724609 155.940611 \nL 184.817205 145.594731 \nL 185.094994 146.279 \nL 185.18759 145.966815 \nL 185.280186 143.907258 \nL 185.465379 145.274953 \nL 185.743167 145.29183 \nL 185.835763 143.49974 \nL 186.020956 143.977288 \nL 186.113552 144.275971 \nL 186.39134 144.354438 \nL 186.483937 144.741713 \nL 186.576533 144.637934 \nL 186.669129 145.886664 \nL 186.761725 145.204923 \nL 187.039514 145.663914 \nL 187.13211 145.56351 \nL 187.317302 143.584957 \nL 187.409898 143.725855 \nL 187.687687 143.895452 \nL 187.872879 144.675058 \nL 187.965475 143.682828 \nL 188.058072 143.866763 \nL 188.33586 142.682151 \nL 188.521053 141.232614 \nL 189.07663 142.063694 \nL 189.724803 139.414369 \nL 190.002591 141.428366 \nL 190.28038 140.399849 \nL 190.372976 140.663098 \nL 190.650765 138.067768 \nL 190.928553 136.846042 \nL 191.021149 137.121098 \nL 191.298938 136.567606 \nL 191.576726 137.321905 \nL 191.669323 136.372702 \nL 191.947111 137.698212 \nL 192.2249 136.658726 \nL 192.410092 134.641358 \nL 192.595284 135.57369 \nL 192.873073 136.181178 \nL 192.965669 133.952024 \nL 193.058265 134.017836 \nL 193.150861 133.376605 \nL 193.243458 133.856686 \nL 193.706438 132.634112 \nL 193.799035 133.049228 \nL 193.891631 136.109462 \nL 194.169419 138.016305 \nL 194.262016 136.178645 \nL 194.354612 137.536214 \nL 194.539804 131.288359 \nL 194.817593 135.299472 \nL 195.002785 134.475142 \nL 195.187977 131.5862 \nL 195.465766 131.966725 \nL 195.558362 130.511275 \nL 195.650958 130.805746 \nL 195.836151 129.446481 \nL 196.206535 128.764745 \nL 196.299131 129.48529 \nL 196.391728 129.335956 \nL 196.484324 129.362949 \nL 196.762112 128.627217 \nL 196.947305 127.98092 \nL 197.039901 128.061909 \nL 197.410286 129.455765 \nL 197.595478 128.142071 \nL 197.688074 128.028165 \nL 197.78067 128.434846 \nL 198.058459 128.706531 \nL 198.151055 129.683575 \nL 198.243651 129.066804 \nL 198.428844 131.977684 \nL 198.706632 130.349277 \nL 198.799228 128.732687 \nL 199.077017 131.113707 \nL 199.539998 135.422661 \nL 199.632594 136.598238 \nL 199.72519 136.339795 \nL 200.002979 136.849929 \nL 200.095575 135.128676 \nL 200.188171 135.1557 \nL 200.280767 134.692873 \nL 200.373363 139.186031 \nL 200.651152 140.028917 \nL 200.836344 135.6388 \nL 201.021537 141.304236 \nL 201.299325 140.97992 \nL 201.391921 140.317764 \nL 201.484517 136.922565 \nL 201.577114 140.375203 \nL 201.947498 141.638685 \nL 202.040094 140.593099 \nL 202.317883 143.739997 \nL 202.595672 143.576149 \nL 202.688268 141.794087 \nL 202.780864 141.969762 \nL 202.87346 141.177543 \nL 202.966056 141.755236 \nL 203.243845 141.775509 \nL 203.429037 144.790654 \nL 203.521633 144.614984 \nL 203.614229 143.30926 \nL 203.984614 140.883631 \nL 204.169807 143.098125 \nL 204.262403 142.988324 \nL 204.632787 141.444432 \nL 204.910576 137.571198 \nL 205.280961 135.33306 \nL 205.466153 136.324598 \nL 205.558749 136.356688 \nL 205.836538 137.363433 \nL 206.02173 138.929284 \nL 206.206922 136.958035 \nL 206.484711 135.980009 \nL 206.669903 136.534059 \nL 206.7625 137.799236 \nL 206.855096 137.729981 \nL 207.22548 139.207989 \nL 207.410673 137.199585 \nL 207.503269 136.952969 \nL 207.781057 135.501975 \nL 207.873654 135.557718 \nL 207.96625 133.187831 \nL 208.058846 133.635461 \nL 208.151442 133.426 \nL 208.429231 133.757078 \nL 208.521827 132.508793 \nL 208.614423 132.565374 \nL 208.707019 132.160823 \nL 209.077404 132.579733 \nL 209.17 134.464835 \nL 209.262596 133.621949 \nL 209.355193 134.46315 \nL 209.447789 133.098303 \nL 209.818173 132.152377 \nL 209.91077 132.510478 \nL 210.003366 134.018901 \nL 210.095962 130.412546 \nL 210.37375 131.360168 \nL 210.558943 130.260524 \nL 210.744135 131.436174 \nL 211.021924 131.169285 \nL 211.11452 132.012182 \nL 211.207116 131.706443 \nL 211.392308 135.312798 \nL 211.670097 134.116865 \nL 211.762693 135.481712 \nL 211.855289 135.261438 \nL 211.947885 135.770559 \nL 212.040482 134.856722 \nL 212.31827 135.007059 \nL 212.410866 135.876969 \nL 212.503463 133.841541 \nL 212.596059 133.863499 \nL 212.688655 134.061122 \nL 213.05904 131.801036 \nL 213.151636 132.201369 \nL 213.707213 133.321275 \nL 213.892405 134.784086 \nL 213.985001 134.378688 \nL 214.540578 132.625345 \nL 214.633175 131.932785 \nL 214.910963 131.317937 \nL 215.003559 132.789194 \nL 215.096156 132.436158 \nL 215.188752 132.731755 \nL 215.281348 133.69965 \nL 215.559136 134.125311 \nL 215.929521 130.243632 \nL 216.299906 132.768921 \nL 216.392502 131.610164 \nL 216.485098 133.794244 \nL 216.577694 133.449654 \nL 216.855483 133.574652 \nL 216.948079 133.405738 \nL 217.040675 134.941174 \nL 217.133271 134.635445 \nL 217.225868 133.757078 \nL 217.503656 133.407423 \nL 217.596252 135.706369 \nL 217.688849 134.226666 \nL 217.874041 138.957993 \nL 218.151829 140.863368 \nL 218.244426 140.064398 \nL 218.522214 144.58627 \nL 218.892599 141.990035 \nL 219.077791 139.04414 \nL 219.170387 139.753593 \nL 219.448176 139.586364 \nL 219.633368 138.140445 \nL 219.725964 137.974901 \nL 219.818561 136.493513 \nL 220.188945 137.333029 \nL 220.374138 139.371838 \nL 220.466734 139.545818 \nL 220.837119 137.978282 \nL 221.114907 138.9732 \nL 221.485292 140.555933 \nL 221.577888 140.224866 \nL 221.670484 140.589718 \nL 221.76308 140.138718 \nL 222.040869 139.83973 \nL 222.133465 139.534001 \nL 222.226061 139.653923 \nL 222.411254 139.407308 \nL 222.874234 141.182619 \nL 222.966831 140.170808 \nL 223.059427 142.206246 \nL 223.337215 141.915715 \nL 223.429812 140.836334 \nL 223.522408 142.071117 \nL 223.615004 141.685981 \nL 223.7076 143.321087 \nL 223.985389 144.142015 \nL 224.077985 147.251759 \nL 224.355773 143.711289 \nL 225.003947 140.724858 \nL 225.65212 142.282252 \nL 225.929908 144.130199 \nL 226.115101 146.28725 \nL 226.207697 146.020361 \nL 226.300293 147.120005 \nL 226.578082 147.731478 \nL 226.948466 145.10822 \nL 227.318851 145.307539 \nL 227.59664 139.724874 \nL 227.874428 140.525529 \nL 228.05962 144.783898 \nL 228.152217 144.672417 \nL 228.244813 140.642081 \nL 228.522601 141.662338 \nL 228.615197 141.533959 \nL 228.707794 142.628537 \nL 228.892986 141.236667 \nL 229.170775 141.772129 \nL 229.263371 140.233312 \nL 229.355967 140.397161 \nL 229.541159 138.194493 \nL 230.00414 139.767105 \nL 230.096736 139.231643 \nL 230.467121 141.08296 \nL 230.652313 139.062718 \nL 230.837506 136.608379 \nL 231.20789 134.034098 \nL 231.300487 134.07971 \nL 231.393083 133.748632 \nL 231.485679 135.039996 \nL 231.763468 134.84321 \nL 231.94866 137.827945 \nL 232.041256 137.096545 \nL 232.133852 138.479959 \nL 232.411641 137.265459 \nL 232.504237 137.885384 \nL 232.596833 136.422573 \nL 232.689429 136.677634 \nL 232.782025 136.277302 \nL 233.059814 136.539124 \nL 233.15241 134.616857 \nL 233.430199 138.307664 \nL 233.707987 137.684369 \nL 233.985776 140.471481 \nL 234.448757 140.2198 \nL 234.541353 139.444473 \nL 234.633949 139.584668 \nL 234.726545 139.714742 \nL 235.004334 139.856623 \nL 235.09693 141.339706 \nL 235.282122 140.763709 \nL 235.374718 142.410631 \nL 235.652507 140.49682 \nL 235.745103 140.734989 \nL 235.930296 138.534017 \nL 236.022892 135.483397 \nL 236.485873 137.928028 \nL 236.578469 139.916542 \nL 236.671065 139.82169 \nL 236.948853 139.333876 \nL 237.134046 142.138811 \nL 237.319238 139.767498 \nL 237.597027 140.194327 \nL 237.689623 141.322401 \nL 237.782219 141.224157 \nL 237.874815 139.737 \nL 237.967411 140.507685 \nL 238.2452 140.770222 \nL 238.522989 139.040853 \nL 238.985969 140.766831 \nL 239.171162 139.503256 \nL 239.263758 140.802404 \nL 239.541546 140.48397 \nL 239.726739 139.41349 \nL 239.911931 140.595756 \nL 240.282316 141.720438 \nL 240.374912 140.026643 \nL 240.837893 141.634053 \nL 241.023085 141.285132 \nL 241.208278 140.026643 \nL 241.486066 139.772574 \nL 241.578662 139.384698 \nL 242.226836 142.767202 \nL 242.319432 142.541925 \nL 242.412028 142.277693 \nL 242.782413 142.369165 \nL 242.875009 142.003299 \nL 242.967605 143.390518 \nL 243.060201 142.738411 \nL 243.152797 141.137772 \nL 243.430586 138.356563 \nL 243.708374 132.716227 \nL 243.800971 116.950379 \nL 244.171355 118.750884 \nL 244.263952 118.784762 \nL 244.449144 125.312645 \nL 244.819529 124.560599 \nL 245.004721 123.783143 \nL 245.097317 124.965419 \nL 245.375106 124.016887 \nL 245.467702 124.348875 \nL 245.560298 121.887786 \nL 245.652894 122.074109 \nL 245.74549 123.324131 \nL 246.023279 123.590058 \nL 246.115875 119.008334 \nL 246.208471 119.214982 \nL 246.301067 119.74175 \nL 246.393664 119.628269 \nL 246.671452 118.993095 \nL 246.764048 119.795953 \nL 246.856645 118.988009 \nL 246.949241 121.37118 \nL 247.041837 127.189373 \nL 247.412222 132.341895 \nL 247.597414 122.932865 \nL 247.69001 124.157475 \nL 247.967799 126.21205 \nL 248.060395 129.677558 \nL 248.152991 126.874319 \nL 248.338183 129.184658 \nL 248.708568 126.820127 \nL 248.801164 127.148723 \nL 248.986357 124.938312 \nL 249.264145 125.366848 \nL 249.449337 123.208954 \nL 249.541934 122.03684 \nL 249.63453 124.348875 \nL 249.912318 123.300415 \nL 250.097511 125.515902 \nL 250.190107 124.933236 \nL 250.282703 127.275758 \nL 250.560492 130.168753 \nL 250.653088 130.15521 \nL 250.930876 124.745228 \nL 251.301261 121.60662 \nL 251.486453 122.670328 \nL 251.57905 121.916588 \nL 251.856838 121.398287 \nL 252.134627 118.845736 \nL 252.227223 118.767818 \nL 252.505011 118.107244 \nL 252.690204 122.085967 \nL 252.7828 120.531064 \nL 252.875396 112.026515 \nL 253.153185 110.200599 \nL 253.245781 110.927243 \nL 253.430973 109.499375 \nL 253.523569 110.534282 \nL 254.171743 106.64702 \nL 254.449531 108.149415 \nL 254.634723 106.369235 \nL 254.72732 107.075555 \nL 254.819916 109.485822 \nL 255.097704 107.460039 \nL 255.190301 108.079974 \nL 255.468089 102.778397 \nL 255.745878 102.883412 \nL 255.93107 104.209646 \nL 256.116262 103.852258 \nL 256.394051 105.14971 \nL 256.486647 101.010075 \nL 256.579243 101.799379 \nL 256.671839 103.466078 \nL 256.764436 101.049028 \nL 257.13482 101.801074 \nL 257.412609 105.781493 \nL 257.690397 104.274011 \nL 257.782993 105.014199 \nL 257.87559 102.526013 \nL 258.060782 105.706965 \nL 258.523763 103.843791 \nL 258.616359 104.167301 \nL 258.986744 101.777358 \nL 259.07934 99.390807 \nL 259.634917 105.27843 \nL 259.727513 105.153091 \nL 259.820109 104.97694 \nL 260.005302 109.914357 \nL 260.28309 109.650115 \nL 260.375686 107.949549 \nL 260.468283 112.270422 \nL 260.560879 109.872012 \nL 260.653475 113.305328 \nL 261.02386 112.062088 \nL 261.116456 112.62781 \nL 261.209052 111.249058 \nL 261.301648 108.088441 \nL 261.579437 110.388618 \nL 261.672033 110.156569 \nL 261.764629 112.366969 \nL 261.949821 105.090421 \nL 262.22761 103.557539 \nL 262.320206 101.414884 \nL 262.597995 115.148178 \nL 262.875783 115.288766 \nL 262.968379 116.072994 \nL 263.060976 115.055022 \nL 263.153572 115.226096 \nL 263.246168 115.346349 \nL 263.616553 113.88969 \nL 263.709149 110.942482 \nL 263.801745 112.814134 \nL 263.894341 112.211143 \nL 264.17213 111.271078 \nL 264.264726 113.068203 \nL 264.449918 111.391342 \nL 264.542514 111.506518 \nL 264.820303 112.742987 \nL 265.005495 109.172474 \nL 265.190688 110.520728 \nL 265.561072 113.386637 \nL 265.838861 107.822514 \nL 266.116649 107.200894 \nL 266.209246 107.566749 \nL 266.394438 105.966111 \nL 266.487034 105.996608 \nL 266.764823 105.236085 \nL 266.950015 105.91869 \nL 267.042611 106.386179 \nL 267.412996 106.685974 \nL 267.598188 103.806522 \nL 267.690785 104.751662 \nL 267.783381 103.911547 \nL 268.061169 104.694079 \nL 268.153765 105.96273 \nL 268.246362 104.626323 \nL 268.431554 105.734061 \nL 268.709342 106.250677 \nL 269.079727 102.371882 \nL 269.357516 101.082906 \nL 269.542708 103.444057 \nL 269.635304 102.348167 \nL 269.7279 109.186017 \nL 270.005689 108.444134 \nL 270.283477 113.886299 \nL 270.653862 112.66846 \nL 270.746458 113.659336 \nL 270.931651 112.123062 \nL 271.024247 110.481774 \nL 271.302035 110.180274 \nL 271.394632 108.439058 \nL 271.579824 110.110833 \nL 271.67242 110.530891 \nL 271.950209 109.572207 \nL 272.042805 111.310043 \nL 272.135401 111.242287 \nL 272.227997 112.311071 \nL 272.320593 110.715519 \nL 272.598382 111.647106 \nL 272.783574 108.08505 \nL 272.87617 108.279841 \nL 272.968767 106.833343 \nL 273.339151 106.315042 \nL 273.431748 106.580959 \nL 273.894728 109.562045 \nL 273.987325 109.545101 \nL 274.172517 107.524404 \nL 274.265113 109.077622 \nL 274.635498 109.270707 \nL 274.728094 109.160616 \nL 274.913286 113.767741 \nL 275.191075 113.430667 \nL 275.468863 112.048535 \nL 275.56146 116.562503 \nL 275.839248 117.741378 \nL 276.117037 113.703376 \nL 276.209633 112.49908 \nL 276.580018 113.220638 \nL 276.672614 112.742987 \nL 276.76521 113.151197 \nL 276.857806 111.411666 \nL 277.228191 108.869278 \nL 277.320787 109.489213 \nL 277.413383 108.816771 \nL 277.505979 109.003095 \nL 277.96896 105.388531 \nL 278.061556 105.822142 \nL 278.154153 105.125995 \nL 278.524537 105.857716 \nL 278.70973 104.589065 \nL 278.802326 100.71366 \nL 279.080114 100.020894 \nL 279.172711 100.32747 \nL 279.265307 99.970082 \nL 279.357903 100.236009 \nL 279.450499 98.438895 \nL 279.728288 98.516803 \nL 279.91348 98.022217 \nL 280.006076 97.993426 \nL 280.098672 98.269515 \nL 280.376461 98.401626 \nL 280.469057 99.299335 \nL 280.561653 98.830161 \nL 280.746846 99.590673 \nL 281.302423 100.608646 \nL 281.395019 100.586626 \nL 281.672807 100.144537 \nL 281.858 101.008379 \nL 282.043192 100.26141 \nL 282.506173 98.755634 \nL 282.598769 99.607607 \nL 282.691365 102.260096 \nL 282.969154 100.674696 \nL 283.06175 102.25501 \nL 283.154346 101.780749 \nL 283.246942 100.210598 \nL 283.339539 100.698412 \nL 283.617327 101.237037 \nL 283.895116 97.593682 \nL 283.987712 97.646189 \nL 284.2655 99.795616 \nL 284.358097 98.305078 \nL 284.450693 98.550681 \nL 284.543289 99.660114 \nL 284.635885 99.273934 \nL 284.913674 100.075096 \nL 285.098866 99.412827 \nL 285.191462 99.346766 \nL 285.284058 99.648257 \nL 285.561847 97.808797 \nL 285.654443 98.294916 \nL 285.747039 97.774919 \nL 285.839635 99.121489 \nL 285.932232 99.063895 \nL 286.21002 98.821684 \nL 286.395212 95.173253 \nL 286.487809 95.940547 \nL 286.580405 95.534032 \nL 286.858193 93.206759 \nL 287.228578 96.21155 \nL 287.598963 98.203455 \nL 287.784155 101.841723 \nL 287.876751 101.860353 \nL 288.247136 97.034732 \nL 288.339732 97.915507 \nL 288.524925 103.215389 \nL 288.802713 106.254058 \nL 288.987905 101.443686 \nL 289.080502 100.300374 \nL 289.173098 102.111041 \nL 289.450886 100.644209 \nL 289.543482 100.801731 \nL 289.636079 102.034819 \nL 289.821271 101.917946 \nL 290.191656 100.366424 \nL 290.376848 104.24861 \nL 290.469444 103.811608 \nL 290.747233 101.775663 \nL 290.839829 102.353253 \nL 291.117617 97.24138 \nL 291.395406 97.244761 \nL 291.580598 95.923603 \nL 291.673195 95.791492 \nL 291.765791 96.985615 \nL 292.136175 96.033703 \nL 292.413964 97.136366 \nL 292.784349 96.858581 \nL 293.062137 100.200435 \nL 293.617714 96.440208 \nL 293.71031 94.385634 \nL 293.988099 94.300944 \nL 294.080695 94.615998 \nL 294.173291 94.087534 \nL 294.265888 94.350071 \nL 294.358484 94.09261 \nL 294.728868 94.646485 \nL 294.821465 94.399187 \nL 294.914061 95.058923 \nL 295.006657 94.577033 \nL 295.377042 91.384233 \nL 295.469638 89.385557 \nL 295.562234 89.981766 \nL 296.025215 95.971034 \nL 296.117811 96.156499 \nL 296.303003 95.174948 \nL 296.580792 95.200349 \nL 296.765984 94.007921 \nL 296.858581 93.808054 \nL 296.951177 93.111907 \nL 297.321561 91.963509 \nL 297.414158 92.212502 \nL 297.59935 90.672837 \nL 297.969735 90.064771 \nL 298.062331 90.217206 \nL 298.154927 90.120658 \nL 298.247523 90.57629 \nL 298.525312 90.467884 \nL 298.617908 91.496019 \nL 298.710504 89.458389 \nL 298.895696 90.501762 \nL 299.173485 90.721954 \nL 299.54387 88.101658 \nL 300.099447 87.164984 \nL 300.192043 86.599262 \nL 300.469831 87.229349 \nL 300.655024 90.415377 \nL 300.840216 92.983177 \nL 301.210601 91.883905 \nL 301.395793 90.091867 \nL 301.488389 90.420464 \nL 301.766178 88.897743 \nL 302.136563 91.248732 \nL 302.414351 91.23857 \nL 302.506947 91.472314 \nL 302.599544 91.308011 \nL 302.69214 91.436741 \nL 303.062524 89.131488 \nL 303.155121 89.190767 \nL 303.247717 88.955327 \nL 303.432909 88.11182 \nL 303.803294 83.181184 \nL 303.89589 83.277732 \nL 303.988486 82.850892 \nL 304.081082 77.479864 \nL 304.451467 75.70477 \nL 304.636659 73.126819 \nL 304.729256 73.894102 \nL 305.007044 72.679654 \nL 305.192237 73.614622 \nL 305.655217 72.208774 \nL 305.747814 71.20605 \nL 305.84041 75.166144 \nL 306.025602 72.728771 \nL 306.303391 71.399145 \nL 306.673775 66.38382 \nL 307.04416 65.636851 \nL 307.136756 67.503416 \nL 307.229352 67.149409 \nL 307.321949 65.684282 \nL 307.599737 64.315693 \nL 307.692333 65.519979 \nL 307.877526 64.361428 \nL 307.970122 70.049185 \nL 308.24791 71.222984 \nL 308.340507 69.444499 \nL 308.433103 69.891664 \nL 308.618295 71.751447 \nL 308.896084 68.772067 \nL 308.98868 69.913684 \nL 309.081276 68.419755 \nL 309.173872 68.819488 \nL 309.266468 67.379762 \nL 309.544257 69.635899 \nL 309.636853 73.860224 \nL 309.729449 71.631195 \nL 309.914642 77.01069 \nL 310.19243 78.709561 \nL 310.377622 76.505932 \nL 310.470219 77.35622 \nL 310.562815 75.3406 \nL 310.9332 73.392735 \nL 311.210988 69.005812 \nL 311.488777 69.441119 \nL 311.673969 66.482053 \nL 311.766565 66.946151 \nL 311.859161 66.138218 \nL 312.13695 64.881414 \nL 312.322142 70.393031 \nL 312.414738 72.715217 \nL 312.507335 71.455033 \nL 312.785123 73.323294 \nL 312.877719 73.267396 \nL 312.970315 73.341924 \nL 313.062912 74.48354 \nL 313.155508 73.753515 \nL 313.433296 73.516389 \nL 313.618489 74.610575 \nL 313.711085 77.263064 \nL 313.803681 76.051996 \nL 314.266662 73.922894 \nL 314.451854 76.682093 \nL 314.729643 77.361307 \nL 314.914835 73.916123 \nL 315.100028 75.797927 \nL 315.377816 76.150239 \nL 315.655605 71.82767 \nL 315.748201 72.164734 \nL 316.211182 73.778926 \nL 316.303778 72.400174 \nL 316.396374 74.000812 \nL 316.674163 73.56381 \nL 316.859355 72.545838 \nL 317.044547 75.052663 \nL 317.322336 75.948677 \nL 317.600124 72.993002 \nL 317.970509 74.937486 \nL 318.063105 74.278597 \nL 318.248298 70.105083 \nL 318.340894 68.477349 \nL 318.618682 69.466519 \nL 318.711278 68.700931 \nL 318.803875 69.735837 \nL 318.989067 65.127017 \nL 319.266856 65.447147 \nL 319.359452 66.192421 \nL 319.452048 63.372247 \nL 319.544644 63.612763 \nL 319.63724 63.299415 \nL 320.100221 62.769257 \nL 320.192817 64.185267 \nL 320.285413 63.550094 \nL 320.563202 66.895339 \nL 320.748394 66.068767 \nL 320.840991 66.199192 \nL 320.933587 58.287471 \nL 321.303971 58.73294 \nL 321.489164 57.218697 \nL 321.58176 56.049974 \nL 321.859549 57.164484 \nL 322.044741 54.801648 \nL 322.229933 56.796944 \nL 322.600318 57.14755 \nL 322.692914 58.009696 \nL 322.78551 56.046583 \nL 322.878106 58.317958 \nL 323.155895 58.438221 \nL 323.341087 55.460537 \nL 323.52628 54.672918 \nL 323.804068 52.36936 \nL 323.896664 53.521129 \nL 324.081857 57.925007 \nL 324.174453 59.828831 \nL 324.452241 61.775 \nL 324.637434 58.438221 \nL 324.822626 55.275898 \nL 325.100415 54.589923 \nL 325.285607 54.672918 \nL 325.748588 48.485479 \nL 326.026377 50.773798 \nL 326.118973 51.368322 \nL 326.489357 51.940825 \nL 326.67455 53.397485 \nL 326.767146 53.692204 \nL 327.137531 50.541749 \nL 327.415319 44.235752 \nL 327.693108 43.437982 \nL 327.785704 43.553148 \nL 327.8783 44.171387 \nL 327.970896 43.678487 \nL 328.063492 40.843076 \nL 328.433877 40.927765 \nL 328.526473 39.196712 \nL 328.619069 39.567643 \nL 329.08205 32.761985 \nL 329.174647 33.732527 \nL 329.359839 31.767728 \nL 329.637627 31.811769 \nL 329.730224 33.825694 \nL 329.82282 32.767072 \nL 329.915416 33.14648 \nL 330.008012 42.597845 \nL 330.285801 52.100032 \nL 330.378397 47.899432 \nL 330.563589 61.293957 \nL 330.656185 55.152254 \nL 331.02657 52.726749 \nL 331.304359 45.494231 \nL 331.674743 44.196798 \nL 331.76734 42.692708 \nL 331.859936 43.490478 \nL 331.952532 40.075782 \nL 332.23032 37.203111 \nL 332.508109 49.77615 \nL 332.600705 48.183978 \nL 332.97109 45.45019 \nL 333.156282 40.209598 \nL 333.248878 34.443912 \nL 333.526667 33.688486 \nL 333.619263 38.148242 \nL 333.804455 36.215636 \nL 334.17484 44.643963 \nL 334.267436 45.001351 \nL 334.360033 46.158206 \nL 334.545225 57.8979 \nL 334.823013 52.53874 \nL 335.008206 60.779047 \nL 335.100802 56.166836 \nL 335.471187 60.455537 \nL 335.748975 56.840963 \nL 335.841571 60.358989 \nL 336.11936 58.934502 \nL 336.211956 56.192247 \nL 336.304552 58.168914 \nL 336.397148 56.044888 \nL 336.489745 56.593676 \nL 336.767533 55.118387 \nL 336.860129 48.990227 \nL 336.952725 49.342549 \nL 337.045322 46.696842 \nL 337.137918 49.193494 \nL 337.415706 50.126777 \nL 337.508303 58.167218 \nL 337.600899 57.963961 \nL 337.693495 54.769455 \nL 337.786091 56.461555 \nL 338.06388 58.616068 \nL 338.156476 55.231858 \nL 338.341668 57.53374 \nL 338.434264 53.385638 \nL 338.712053 52.271107 \nL 338.804649 52.420162 \nL 338.989841 45.025067 \nL 339.360226 44.579598 \nL 339.452822 48.131481 \nL 339.545418 47.701251 \nL 339.638015 48.239887 \nL 339.730611 50.311395 \nL 340.008399 48.072203 \nL 340.100996 49.740587 \nL 340.193592 48.053573 \nL 340.286188 48.129786 \nL 340.749169 51.334454 \nL 340.841765 50.067478 \nL 341.304746 37.958538 \nL 341.397342 37.895868 \nL 341.489938 38.366748 \nL 341.675131 41.078516 \nL 341.952919 39.533775 \nL 342.045515 37.953472 \nL 342.138111 38.720745 \nL 342.323304 35.76169 \nL 342.601092 32.170853 \nL 342.693689 33.085485 \nL 342.786285 32.784006 \nL 342.971477 35.216293 \nL 343.434458 43.939338 \nL 343.61965 41.962672 \nL 343.897439 39.96231 \nL 343.990035 44.123956 \nL 344.267824 37.809483 \nL 344.545612 35.458494 \nL 344.638208 35.663457 \nL 344.730804 35.483905 \nL 344.915997 29.569186 \nL 345.193785 30.409301 \nL 345.286381 27.878761 \nL 345.378978 28.373356 \nL 345.56417 30.231445 \nL 345.841959 26.743926 \nL 346.027151 16.886046 \nL 346.119747 16.101818 \nL 346.212343 21.154402 \nL 346.582728 24.752021 \nL 346.675324 24.286228 \nL 346.76792 23.246235 \nL 346.860517 23.659532 \nL 347.138305 23.479979 \nL 347.323497 19.950116 \nL 347.416094 19.358983 \nL 347.50869 21.305152 \nL 347.786478 21.745535 \nL 347.879074 20.54464 \nL 348.064267 26.576242 \nL 348.156863 27.512916 \nL 348.434652 26.359431 \nL 348.527248 27.401119 \nL 348.619844 26.433969 \nL 348.71244 26.764251 \nL 348.805036 24.177822 \nL 349.082825 20.592071 \nL 349.175421 22.399337 \nL 349.268017 19.325095 \nL 350.101383 33.632599 \nL 350.379171 33.664771 \nL 350.471767 31.510268 \nL 350.564364 33.973053 \nL 350.65696 31.854114 \nL 350.749556 32.328364 \nL 351.027345 35.119735 \nL 351.212537 32.572281 \nL 351.305133 29.899467 \nL 351.397729 33.419179 \nL 351.675518 32.186091 \nL 351.768114 30.275485 \nL 351.86071 30.98011 \nL 351.953306 28.583385 \nL 352.045902 28.781567 \nL 352.323691 28.469893 \nL 352.508883 27.175852 \nL 352.694076 34.899554 \nL 352.971864 36.318955 \nL 353.06446 38.038162 \nL 353.249653 48.116243 \nL 353.342249 42.906127 \nL 353.620037 45.926157 \nL 353.712634 41.009064 \nL 353.80523 41.955911 \nL 353.897826 46.651106 \nL 353.990422 45.213076 \nL 354.360807 43.988465 \nL 354.453403 52.962189 \nL 354.545999 45.363826 \nL 354.916384 58.150274 \nL 355.00898 55.418192 \nL 355.101576 48.548148 \nL 355.194173 49.694851 \nL 355.286769 51.762968 \nL 355.564557 54.760998 \nL 355.657153 52.098337 \nL 355.74975 45.733062 \nL 356.305327 55.445278 \nL 356.397923 54.156302 \nL 356.490519 50.590875 \nL 356.583115 51.136273 \nL 356.860904 58.163827 \nL 357.046096 55.181056 \nL 357.231288 57.506634 \nL 357.509077 53.316186 \nL 357.601673 54.029267 \nL 357.786865 46.595198 \nL 358.15725 43.524346 \nL 358.249846 52.943559 \nL 358.435039 49.909966 \nL 358.527635 55.355522 \nL 358.805423 54.852449 \nL 358.990616 50.765321 \nL 359.083212 51.066821 \nL 359.175808 54.420544 \nL 359.453597 58.751569 \nL 359.546193 56.688538 \nL 359.638789 57.653993 \nL 359.823981 65.016926 \nL 360.10177 65.579268 \nL 360.379558 54.119043 \nL 360.472155 55.270832 \nL 360.749943 55.519815 \nL 360.749943 55.519815 \n\" style=\"fill:none;stroke:#4c72b0;stroke-linecap:round;stroke-width:1.5;\"/>\n   </g>\n   <g id=\"patch_3\">\n    <path d=\"M 41.168125 203.04 \nL 41.168125 7.2 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.25;\"/>\n   </g>\n   <g id=\"patch_4\">\n    <path d=\"M 375.968125 203.04 \nL 375.968125 7.2 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.25;\"/>\n   </g>\n   <g id=\"patch_5\">\n    <path d=\"M 41.168125 203.04 \nL 375.968125 203.04 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.25;\"/>\n   </g>\n   <g id=\"patch_6\">\n    <path d=\"M 41.168125 7.2 \nL 375.968125 7.2 \n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.25;\"/>\n   </g>\n  </g>\n </g>\n <defs>\n  <clipPath id=\"p556431a7bc\">\n   <rect height=\"195.84\" width=\"334.8\" x=\"41.168125\" y=\"7.2\"/>\n  </clipPath>\n </defs>\n</svg>\n",
      "image/png": "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\n"
     },
     "metadata": {}
    }
   ],
   "source": [
    "goog.plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "Date\n2009-12-31     308.832428\n2010-01-29     288.220202\n2010-02-26     266.447866\n2010-03-31     279.467487\n2010-04-30     277.491086\n                 ...     \n2018-08-31    1225.671732\n2018-09-28    1175.808934\n2018-10-31    1110.940411\n2018-11-30    1056.162394\n2018-12-31    1037.420519\nFreq: BM, Name: Close, Length: 109, dtype: float64"
     },
     "metadata": {},
     "execution_count": 55
    }
   ],
   "source": [
    "goog.resample('BM').mean() #取平均"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "Date\n2009-12-31     308.832428\n2010-01-29     263.980530\n2010-02-26     262.416412\n2010-03-31     282.501129\n2010-04-30     261.868439\n                 ...     \n2018-08-31    1218.189941\n2018-09-28    1193.469971\n2018-10-31    1076.770020\n2018-11-30    1094.430054\n2018-12-31    1035.609985\nFreq: BM, Name: Close, Length: 109, dtype: float64"
     },
     "metadata": {},
     "execution_count": 52
    }
   ],
   "source": [
    "goog.asfreq('BM') # 取值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "Date\n2009-12-31            NaN\n2010-01-04            NaN\n2010-01-05            NaN\n2010-01-06            NaN\n2010-01-07            NaN\n                 ...     \n2018-12-24    1010.788557\n2018-12-26    1010.411412\n2018-12-27    1014.318551\n2018-12-28    1015.514265\n2018-12-31    1017.314261\nName: Close, Length: 2265, dtype: float64"
     },
     "metadata": {},
     "execution_count": 57
    }
   ],
   "source": [
    "goog.rolling(7, center=False).mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.7-final"
  },
  "orig_nbformat": 2,
  "kernelspec": {
   "name": "python37464bitbaseconda2e78d15030274c12b31e6e05ecc04132",
   "display_name": "Python 3.7.4 64-bit ('base': conda)"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}